我有一个表格,用户必须输入最小值和最大值。对此案例进行验证的建议是什么?仅服务器验证或客户端和服务器验证。
您如何在客户端验证两个输入?你知道这样做的一个例子吗?
UPDATE
我正在谈论的验证是比较验证(我知道如何做的所有其他验证,互联网上有很多例子)。但是我没有找到客户端验证,因为有两个与compare相关的字段。
基本上,如何对min进行客户端验证,使其值小于max,对max进行验证,使其值小于min。或者建议的替代方案是什么。
新的更新
似乎我的问题的第一句话已经丢失了。在表单上我有两个输入字段,比如说FieldA和FieldB。 FieldA必须小于FieldB,而FieldB必须大于FieldA。
我的问题涉及:是否有关于如何进行此类验证的示例。由于常见的响应是在客户端上进行验证,那么我的问题是我应该在两个字段中添加哪些验证?如果不满足条件,是否使两个字段无效。如果是,那么在用户更改其中一个字段后,如何使两个字段再次有效。
都。
原因:
至于技术,有负载,取决于您的设置。你可以使用DataAnnotations
验证属性服务器端,并有大量的jquery
,angular
,knockout
等客户端javascript验证插件。
可以找到jQuery的验证示例here:
<script>
$(document).ready(function(){
$("#commentForm").validate({
rules: {
name: "required",
email: {
required: true,
email: true,
},
comment: "required"
}
});});
</script>
注意:如前所述:客户端验证高度依赖于您使用的技术。对于AngularJs,例如:this库。
根据您的要求,最小最大值,也就是范围验证,一个带属性的示例(服务器端):
//model
public class Foo
{
[Range(1, 100)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
}
和控制器:
// POST: Movies/Create
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(Foo foo)
{
if (!ModelState.IsValid)
{
//error
}
}
和javascript方面:
$( "#commentForm").validate({
rules: {
field: {
required: true,
range: [13, 23]
}
}
});
有关详细信息,请参阅source。