我有一个使用ASP的应用程序。. NET MVC和KnockoutJS用于MVVM部分。服务器通过JSON将数据绑定到服务器。客户端处理数据,然后进行标准的POST回调。
我现在必须处理一些业务逻辑,如:
- 如果property2 == "FOOBAR" property1必须优于10
- property2必须是!= "
等等……(有很多条件我必须处理)
因此,为了使事情更简单,是否有可能避免服务器端代码(c#)和客户端代码(JS)之间的代码重复?我们的想法是在一个地方定义验证规则(可能使用数据注释),并使用这些规则来生成JS代码(用于客户端验证)或c#代码(用于服务器端验证)。我认为内置的注释加上添加的jQuery验证将满足您的大多数业务需求。
例如,第二个可以使用[Required]
对于那些需要一些额外的东西(像你提到的第一个场景),你可以看看Remote
验证或实现你自己的注释(但是当连接到jQuery验证来添加你的新注释时,这会变得有点棘手)。