私は次の属性を持つモデル CountryInformation である Asp.net MVC4.0 のアプリケーションで作業しています。
[Required(ErrorMessage = "This field is required.")]
[Display(Name = "Country Name")]
public string CountryName { get; set; }
[Required(ErrorMessage = "This field is required.")]
[RegularExpression(@"^[+-]?[0-9]{1,9}(?:\.[0-9]{1,6})?$",ErrorMessage = "Input decimal numbers.")]
public float Latitude { get; set; }
[Required(ErrorMessage = "This field is required.")]
//[RegularExpression(@"^[+-]?[0-9]{1,9}(?:\.[0-9]{1,6})?$", ErrorMessage = "Input decimal numbers.")]
public float Longitude { get; set; }
[Required(ErrorMessage = "This field is required.")]
//[RegularExpression(@"^[+-]?[0-9]{1,9}(?:\.[0-9]{1,6})?$", ErrorMessage = "Input decimal numbers.")]
[Display(Name = "GMT Offset")]
public float GMTOffSet { get; set; }
public string Currency { get; set; }
緯度フィールドに間違った値を入力した後、モデルが検証されると、すべて正常に機能しています。つまり、もちろん10進数ではないabcの場合、エラーメッセージは表示されませんが、「値「abc」は緯度には無効です。」ページソースのすべての値を見てきました
<input id="Latitude" class="input-validation-error text-box single-line" type="text" value="abc" name="Latitude" data-val-required="This field is required." data-val-regex-pattern="^[+-]?[0-9]{1,9}(?:\.[0-9]{1,6})?$" data-val-regex="Input decimal numbers." data-val-number="The field Latitude must be a number." data-val="true">
値「abc」は緯度には無効です。メッセージが表示されない理由を説明してください