序列化dojox.validation.check配置文件对象

序列化dojox.validation.check配置文件对象,validation,web-applications,serialization,dojo,dijit.form,Validation,Web Applications,Serialization,Dojo,Dijit.form,我正在构建一个页面,该页面根据从服务器传递的数据以编程方式填充包含dojox.form.ValidationTextBox小部件的表单。这些小部件需要在提交表单之前进行验证,但我们目前没有一种方式让服务器传达验证约束 序列化与dojox.validate.check一起使用的概要文件对象似乎是最合适的,但该结构并不完全支持序列化。传递给dojox.validation.check的配置文件对象应具有以下格式: profile: { required: [fieldName1],

我正在构建一个页面,该页面根据从服务器传递的数据以编程方式填充包含dojox.form.ValidationTextBox小部件的表单。这些小部件需要在提交表单之前进行验证,但我们目前没有一种方式让服务器传达验证约束

序列化与dojox.validate.check一起使用的概要文件对象似乎是最合适的,但该结构并不完全支持序列化。传递给dojox.validation.check的配置文件对象应具有以下格式:

 profile: {
      required: [fieldName1],
      constraints: {
           fieldName1: [[validationFunc1, constraintArg1, constraintArg2], [validationFunc2, constraintArg3, constraintArg4]]
           fieldName2: validationFunc3
      }
      .
      .
      .
 }
因为profile对象包含函数,所以我们不希望按原样使用它。我正在考虑序列化函数名以代替函数本身,但这会引入一些紧密的客户端耦合,因为dojo AMD加载程序不应该有任何全局变量名


是否有更标准的方式(最好是使用dojo)在客户端和服务器之间传递表单验证约束?

dojox.validate.check验证配置文件不允许指定自定义字段的无效消息。例如,假设您使用dojox.validate.isText作为一个验证函数,为其提供“maxlength”和“minlength”等约束,则不会得到自定义的“无效”消息,如果消息太长,则会显示“长度不能超过个字符”或“长度必须超过个字符”没有大量的代码来管理它

我建议查看其他客户端javascript验证框架,如Regula或JQuery Validator,并使用字段约束交换格式,这将更好地与这些解决方案之一配合使用