xvalを使用して、asp.netmvc2Webアプリケーションでクライアント側の検証を使用しています。数値フィールドにテキストを入力するとエラーが発生しますが、それでもフォームをデータベースに送信しようとします。誤った値は0に置き換えられ、データベースに保存されます。しかし、代わりに、フォームを送信しようとすることさえできないはずです。誰かがここで私を助けることができますか?
以下のように属性を設定しました。
[Property]
[ShowColumnInCrud(true, label = "FromPriceInCents")]
[Required]
//[Range(1, Int32.MaxValue)]
public virtual Int32 FromPriceInCents{ get; set; }
リクエストをキャッチするコントローラーは以下のようになります。この部分でエラーは発生していません。
[AcceptVerbs(HttpVerbs.Post)]
[Transaction]
[ValidateInput(false)]
public override ActionResult Create()
{
//some foo happens
}
私の見解は以下のようになります:
<div class="label"><label for="Price">FromPrice</label></div>
<div class="field">
<%= Html.TextBox("FromPriceInCents")%>
<%= Html.ValidationMessage("product.FromPriceInCents")%></div>
そして、ビューの最後に、次のルールがあります。これは、htmlコードで正しい検証ルールを生成します。
<%= Html.ClientSideValidation<Product>("Product") %>
誰かがこの問題で私を助けてくれることを願っています、事前に感謝します!
編集:4月19日、input type = "Button"の代わりに使用されている通常のボタンがあることがわかりました。これが問題になる可能性がありますか?
<button class="save" type="submit" name="save"><span>Opslaan</span></button>