我使用Mesosphere,并且我想创建一个自定义规则来验证equalsField:
Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue){
//var ruleValue = $('#'+ruleValue).val();
//var ruleValue = document.getElementById(ruleValue).value;
return fieldValue === ruleValue;
});但是我不能使用jquery $或document,因为它在服务器端是不可访问的(它们只在客户端有效)
发布于 2014-02-12 12:50:55
所以看起来你想要做的是检查一个字段和另一个字段是否相等。
实际上,当在中间层验证规则时,会向规则传递5个参数: fieldValue、ruleValue、fieldName、formFieldsObject和字段。由于formFieldsObject是一个包含表单中未经验证的原始数据的对象,每个输入的名称作为键,当前值作为键值,这意味着您可以按如下方式创建新规则。
Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue, fieldName, formFieldsObject, fields){
return fieldValue === formFieldsObject[ruleValue];
});然后,在设置规则时,传递当前字段应该与之相等的字段的名称,这样就可以开始使用了。
https://stackoverflow.com/questions/21483640
复制相似问题