我正在构建一个页面,该页面基于从服务器传递的数据以编程方式填充包含 dojox.form.ValidationTextBox 小部件的表单。这些小部件需要在提交表单之前进行验证,但我们目前没有办法让服务器传达验证约束。
序列化与 dojox.validate.check 一起使用的配置文件对象似乎是最合适的,但该结构并不完全对序列化友好。传递给 dojox.validation.check 的配置文件对象应具有以下格式:
profile: {
required: [fieldName1],
constraints: {
fieldName1: [[validationFunc1, constraintArg1, constraintArg2], [validationFunc2, constraintArg3, constraintArg4]]
fieldName2: validationFunc3
}
.
.
.
}
由于配置文件对象包含函数,我们不想按原样使用它。我正在考虑只是序列化函数的名称以代替函数本身,但这会引入一些紧密的客户端耦合,因为 dojo AMD 加载程序不应该有任何全局变量名称。
客户端和服务器之间是否有更标准的通信方式(最好使用 dojo)表单验证约束?