2017-09-18 11 views
1

私のモデルではプロパティを使用しています。10進数でプロパティを保存できません

[Display(Name = "Pensja")] 
public decimal? Salary { get; set; } 

編集剃刀ビューで、値を4000,00から4000,50に変更したいとします。 これは、このように見えます。

<div class="form-group"> 
    @Html.LabelFor(model => model.Salary, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.Salary, new { htmlAttributes = new { @class = "form-control" } }) 
     @Html.ValidationMessageFor(model => model.Salary, "", new { @class = "text-danger" }) 
    </div> 
</div> 

給料は数字でなければならないというメッセージが表示されます。私が間違っていることは何ですか?

+0

Html.BeginFormを使用していますか?あなたはどのようにしてコントローラでデータを送信しますか?質問を詳細に更新してください。 –

+0

私はHtml.BeginFormを使用します – maciejka

+0

このメッセージはクライアント検証エラーメッセージですか? –

答えて

1

あなたのエラーmsgはクライアント側(jscipt)であり、あなたの言語はポーランド語だと思うので、あなたのロケールに関連するものをいくつか設定する必要があります。

、私はあなたの質問をチェックして、このメッセージがClient validationメッセージであり、それはおそらく本当だ、このURLにhttp://msdn.microsoft.com/en-us/library/gg674880(VS.98).aspxhttps://weblogs.asp.net/scottgu/jquery-globalization-plugin-from-microsoft

を見てくださいしたり、クライアント側の検証

@{ Html.EnableClientValidation(false); } 
    @Html.EditorFor(model => model.Salary, new { htmlAttributes = new { @class = "form-control" } }) 
    @{ Html.EnableClientValidation(true); } 
+0

はい、私の言語はポーランド語です。 – maciejka

+0

もう1つの方法は、クライアントの検証を無効にするか、カスタマイズしたものを追加することです。 –

+0

Shoud ValidationMessageForなどを削除しますか? – maciejka

0

を無効にします。通貨セパレータは国と異なるため正しいvaldiationスクリプトを使用

あなたは

この記事validation-polish を確認してください。また、私は別の解決策を発見したこのhttps://jqueryvalidation.org/

+0

どこで見つけることができますか? – maciejka

+0

もう一度私の答えをチェック.. –

0

を見なければなりません。

<div class="form-group"> 
        @Html.LabelFor(model => model.Salary, htmlAttributes: new { @class = "control-label col-md-2" }) 
        <div class="col-md-10"> 
         <input type="text" name="UserSalary" id="UserSalary" value="@Model.Salary"/> 
        </div> 
       </div> 

コントローラ内。

​​
関連する問題