2014-05-15 47 views
0

這裏是一類「汽車」和我有2個attributs(最小/最大CO2):DataAnnotations MVC

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; } 
    } 

我使用數據註釋「範圍」以固定的最小和最大值。

但我想用汽車的attribut來確定最小值或最大值。

或者,如果有另一個jQuery解決方案,它可以。

非常感謝。

+0

jQuery如何可能用於此? –

+0

我將在我的視圖中添加腳本。 –

回答

1

嘗試此

從控制器發送的最小值和最大值用模型或查看ViewBag/ViewData的

ViewBag.Min=0; 
ViewBag.Max=Int32.MaxValue; 

在View使用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/

0

謝謝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" 
      } 
     }); 
    });