在我们在 MVC4 中使用 WebAPI 之前以及在 jsRender 变为 beta 之前,我们使用服务器端编程生成表单。也就是在视图模型上添加Data Annotations,然后生成一个有很多@Html.EditorFor
and的表单@Html.LabelFor
。(如果你是一名 MVC 程序员,你就会明白我的意思。)然后 jQuery 验证将帮助我们在客户端进行数据验证,而 DataAnnotation 属性通过检查Model.IsValid
. 一切都很好。
现在我们有了WebAPI
. 大多数示例是使用Javascript调用Ajax来WebAPI
在服务器和客户端之间传输表单数据(主要是json)的动作。jsRender(或其他类型的模板库)用于呈现数据。
我喜欢进行 Ajax 调用以避免不必要的整页呈现的想法。但主要困难在于,由于表单是作为模板准备的,它绑定到客户端的数据,因此无法将 DataAnnotation 等服务器端技术与 jQuery-validation 结合起来。而且我们无法使用@Html.EditorFor
. 看来我们失去了许多以前在 MVC3 中所拥有的巨大好处。
那么,各位专家如何处理呢?您是否完全抛弃了服务器端技术,只在模板中写出所有内容供客户端使用?
如果我们只能在客户端做所有事情,我们如何利用 jQuery 验证?我们是否data-val-xxx
手动添加这些标签?
感谢您的任何建议。