2017-03-31 96 views
2

是否有任何模式使用Asp.Net核心客户端验证没有jQuery + jQuery验证+ jq不显眼的验证? 我的意思是2017年,每个浏览器都可以处理大量没有JavaScript的HTML5输入验证器。Asp.Net没有jQuery的核心验证

回答

0

取决于您正在寻找什么样的验证。

与数据注释相结合的jQuery验证是最简单的一种,也是默认的一种。虽然HTML 5可以解决相当多的广泛测试。它不能处理像属性依赖于彼此的任何深奥的东西。

另一种选择是使用热门FluentValidation。仅验证serverside,但使用Ajax和小型客户端框架来显示错误

最后一个选项是使用Html5输入验证。这只能部分通过默认使用dotnet类型或一些注释来实现:http://www.davepaquette.com/archive/2015/05/13/mvc6-input-tag-helper-deep-dive.aspx。如果您想要添加更多深入的html 5属性支持,则必须自己扩展taghelpers。

太糟糕了,你不能使用相同的前端和服务器端代码(如nodejs可以),但对于大型项目,我建议你采取选项2.它可能听起来不是很活泼,但dotnet通常很快,如果您将FluentValidation与Ajax Api调用结合使用,没有人会注意到实际的服务器端验证。最后,我发现数据注释总是缺乏适当的可能性来测试相互依赖的属性,并且它非常快速地变得非常黑。这个选项的唯一缺点是你将输入模型中的验证分开,因此并不总是验证对于外部开发人员是直接可见的。

+0

其实我们在服务器端使用FluentValidation。我只是想知道是否有任何nuget包可以交换默认的基于jquery + jqvalidation的taghelpers。 – martonx

相关问题