0

私は次の属性を持つモデル 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」は緯度には無効です。メッセージが表示されない理由を説明してください

4

2 に答える 2

0

これを試して:

*^[0-9]([.,][0-9]{1,3})?$*

それは受け入れます

xy および x,y タイプのデータが必要ない場合は、式を次のように置き換えます

*^[0-9]([.][0-9]{1,3})?$*

問題は、?:チェックするがキャプチャしない in you 式にあります。

于 2013-10-11T07:18:10.107 に答える