如何从服务器功能访问表单元素?

时间:2014-01-31 15:26:12

标签: meteor mesosphere

我使用Mesosphere,我想制作一个自定义规则来验证equalsField:

Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue){
  //var ruleValue = $('#'+ruleValue).val();
  //var ruleValue = document.getElementById(ruleValue).value;
  return fieldValue === ruleValue;
});

但我不能使用jquery $或文档,因为在服务器端无法访问(这些只能在客户端使用)

1 个答案:

答案 0 :(得分:0)

所以看起来你想要的是检查一个字段是否等于另一个字段。

实际上,当在Mesosphere中验证规则时,规则将传递5个参数:fieldValue,ruleValue,fieldName,formFieldsObject和fields。由于formFieldsObject是一个包含表单中原始未经验证数据的对象,每个输入的名称作为键,当前值作为键值,这意味着您可以按如下方式创建新规则。

Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue, fieldName, formFieldsObject, fields){
  return fieldValue === formFieldsObject[ruleValue];
});

然后在设置规则时,传递当前字段应该等于的字段的名称,你应该好好去。