If you want any field required for one substore but not for another substore add a startup widget and do some tweak with field group in forms
example : if you have substore 'substoreA' and another substore 'substoreB' and in register form you want to add some field only for one substore than set the fieldgroup name as substore alias and than add the code , so when u open substoreA than on register form the hook checking the field settings fieldgroup is its substoreA than only field will be visible otherwise hidden
ms.app.addPosthook({entity: "ms.forms", command: "list"}, function (req, res, next) {
var form = (res.data && res.data.data && res.data.data[0]) || (res.data && res.data[0]);
if (ms.user && ms.user.store && ms.user.store == 'substoreA') {
if (form.name == 'register') {
form.fields.forEach(function (field) {
if (field.settings.field_groups != 'substoreA') {
field.settings.hidden = 1;
}
})
}
}
return next();
});