0

私はMVCアプリを構築していますが、現在厄介な問題があります。

だから私はこれらのコード行を持っています:

<div class="editor-label">
            @Html.LabelFor(model => model.m_Number, "OBJ Number")
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.m_Number)
            @Html.ValidationMessageFor(model => model.m_Number)
        </div>

このページでUIを開くと、フィールドは矢印の付いた一種のテキストボックスになり、上下にクリックしてint値をアップグレードまたは縮小できます。説明が不十分で申し訳ありませんが、それを説明する正確な単語が見つかりません。

主な問題は、そのフィールドを編集でき、数字を入力する代わりに、次のように記述できることです。

abl

そして、Enterキーを押すと、「保存」されます。DBに情報をまだ送信していないため、実際の保存は行われませんが、UIでそのフィールドに書き込まれるデータのタイプを検証したいので、整数のみが書き込まれていることを確認したいのですが、これを行う方法を知っています。これらのフィールドを間違ったデータの挿入から保護する必要があるため、助けが必要です。

私のクラスでは、私はすでにこれを書いています:

   [Display(Name = "Obj Number")]
        public int m_Number { get; set; }

しかし、これは何も解決しません。

誰かが私がこれをどのように行うことができるかについての手がかりを持っていますか?ありがとう!

4

1 に答える 1

0

属性を使用して、pattern数値のみを受け入れる正規表現に設定できます。

$(function() {
    $('input[type="number"]').attr('pattern', '\\d*');
});

ただし、これはUIのみを目的としていることに注意してください。ユーザーがFireBugを使用して、必要な値をサーバーに送信することを妨げるものは何もないため、サーバーで必要な検証を実行する必要があります。これは、ユーザーを支援するためだけに、検証目的で使用することはできません。

于 2013-02-06T16:37:00.867 に答える