DataAnnotations MVC
本文关键字:MVC DataAnnotations | 更新日期: 2023-09-27 18:03:23
这是一个类"Cars",我有2个属性(min/max CO2):
public class Cars
{
[Range("MinCO2", int.MaxValue, ErrorMessage = "MaxCO2 < MinCO2")]
public int MaxCO2 { get; set; }
[Range(0, "MaxCO2", ErrorMessage = "MaxCO2 > MinCO2")]
public int MinCO2 { get; set; }
}
我使用数据注释'范围'来固定最小值和最大值。
但是我想使用汽车的属性来确定最小值或最大值。
或者如果jQuery有其他解决方案,这也是可能的。
试试这个
使用Model或ViewBag/ViewData从控制器发送最小值和最大值
ViewBag.Min=0;
ViewBag.Max=Int32.MaxValue;
在视图中使用jQuery验证指定最小和最大验证使用传递的值。观点:
<script language="javascript">
var mi="@ViewBag.Min";
var mx="@ViewBag.Max";
$(document).ready(function()
{
$( "#myform" ).validate({
rules: {
field: {
required: true,
min: mi,
max:mx,
}
};
});
});
http://jqueryvalidation.org/min-method/谢谢malkam!
$("#MinCO2").change(function () {
var minValue = this.value;
$("#MaxCO2").rules('add', {
range: [minValue, Number.MAX_VALUE],
messages: {
range: "La valeur MaxCO2 est inférieur à la valeur MinCO2"
}
});
});
$("#MaxCO2").change(function () {
var maxValue = this.value;
$("#MinCO2").rules('add', {
range: [Number.MIN_VALUE, maxValue],
messages: {
range: "La valeur MinCO2 est supérieur à la valeur MaxCO2"
}
});
});