你可以使用正则表达式复杂的验证规则
先添加一些代码来form.js,这个文件是在访问:
语义的UI主\语义的UI主\ DIST \组件\ form.js
这个代码后
// is most likely an email
email: function(value){
var
emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "i")
;
return emailRegExp.test(value);
},
添加以下代码
// is most likely an my regex
regex: function(value,reg){
var
regexRegExp = new RegExp(reg, "i")
;
return regexRegExp.test(value);
},
,并用它在你的语义UI代码,这样
firstname: {
identifier: "first_name",
optional: true,
rules: [
{
type: "regex[^[a-zA-Z -]+$]",
prompt: "First name can only consist of letters, spaces and dashes"
}
]
}
例如,这是我的代码来验证一个复杂的鳕鱼只含有10位或字母的组合
$("form[data-id=\"2\"]").form({
v: { identifier: 'active_code', rules: [{ type: "regex[^[a3-z8]{10}$]", prompt: 'کد فعال سازی خود را وارد کنید'}] }
},
{
inline: true,
on: 'blur',
transition: 'swing left',
duration: 1000,
onSuccess: formOnSuccess
}
);
完整代码
$("form[data-id=\"1\"]").form({
f: { identifier: 'family', rules: [{ type: 'empty', prompt: 'فامیلی خود را وارد کنید'}] },
e: { identifier: 'email', rules: [{ type: 'email', prompt: 'ایمیل خود را وارد کنید'}] }
},
{
inline: true,
on: 'blur',
transition: 'swing left',
duration: 1000,
onSuccess: formOnSuccess
}
);
$("form[data-id=\"2\"]").form({
v: { identifier: 'active_code', rules: [{ type: "regex[^[a0-z9]{10}$]", prompt: 'کد فعال سازی خود را وارد کنید'}] }
},
{
inline: true,
on: 'blur',
transition: 'swing left',
duration: 1000,
onSuccess: loadPersonal
}
);
非常感谢您的回答!不幸的是,我不认为它解决了我的问题。我想要做的是验证检查,如果field1是空的,并选中field2,然后验证失败。那可能吗? –
如果你想混合字段验证,字段1可选AND字段2在所需的AND如果字段1被选中然后字段2是可选的,所以我不知道。但你应该知道什么是必填字段。换句话说,需要一个领域不能依赖于其他领域,我编辑我的答案结束 – sadati