私はASP.NET Webアプリケーションを持っていますが、私のビューモデルには二重フィールドのPowerPriceがありますが、ユーザーが先行ゼロを入力しなければフィールドの検証はオフになります。検証で「数字を入力してください」と表示されます。ユーザーに "0.11"を要求する代わりに ".11"を入力させるにはどうすればよいですか?先行ゼロなしのテキストボックス入力を許可する
3
A
答えて
1
ここで正しいタイプではない値「11」をDoubleタイプのオブジェクトに設定しています。それは常に失敗するでしょう。
あなたは私の頭の上から考えることができるいくつかのオプションがあります。
- DoubleをStringに変更し、一度取得すると、 は、必要なものを解析しようとします。また
あるいは、
- AjaxControlToolkit MaskEditor( http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/MaskedEdit/MaskedEdit.aspxを参照)を使用 garbaggeは、正規表現のバリデータまたはカスタムバリデータの使用を入力するか、 できる内容低減するインターフェイス上であなたにあなたのコードを保つことができますJavaScriptやJQueryのようなクライアントサイドのコードを介してクライアント上に何があるかを調べるので、 ".12"のようなドットだけが心配だと言うなら、そのシナリオを検出すると先行するゼロまたは数字をあなたが望むもの。これにより、サーバに到達することを確実にします。その値は10進数値であり、サーバ側で解析または変更することなく受け入れられます。
0
私はこのanswer hereが実際の犯人を正確に特定すると信じて - 前1.10からjQuery.Validation
のバージョンが壊れ検証正規表現を持っています。回答の後半のコメントに従って、jQuery.Validation
を最新バージョンにアップグレードするだけです(例:nuget
)。
私のケースでは、1.9.0.1
から1.11.1
にアップグレードするのはやりました。サーバー側/モデルバインダー/文字列ViewModelの変更はまったく必要ありません。
関連する問題
- 1. 入力番号フィールドの先行ゼロを表示します
- 2. 数値の入力で先行ゼロを強制します。
- 3. NSLabel:先行ゼロの出力?
- 4. フレックステキストの入力ボックスにゼロを10進数で入力することを許可しない
- 5. HTML5入力タイプ=数字は先行ゼロを削除します
- 6. Javascript、query backbone-テキストボックスは入力を許可しません
- 7. UITableViewCellでの入力を許可する
- 8. 入力時にフォールトを許可する
- 9. CP先行ゼロ
- 10. 先行入力コンボ
- 11. "クリップボードへのアクセスを許可しない"は、テキストボックスに何も入力できないようにします。
- 12. 先行ゼロのあるLPAD
- 13. 先行入力のBloodhoundカスタムヘッダー
- 14. pgSQL:日付形式を挿入します(先行ゼロ)?
- 15. 入力フォーマットとしてSQL SERVERを許可するCOM入力プラグインを探す
- 16. 数値を入力すると0になる可能性がありますが、先行ゼロがない場合に出力されます
- 17. テキストボックス内の数字に先行ゼロを自動的に追加する方法
- 18. バッチファイルの先行ゼロを削除する
- 19. "正の数"をテキストボックスの入力としてのみ制限する方法( "-99"のみ許可)?
- 20. JQueryカウントダウンクロックプラグインの先行ゼロ
- 21. 先行ゼロを追加するMath.round()
- 22. 先行ゼロを保持するSQL
- 23. Regexバリデーターが入力として空を許可する
- 24. 入力タグに特定の単語を入力することを許可しないhtml
- 25. 、先行入力のためのオプションの設定先行入力を使用して角度-UIブートストラップ
- 26. Android String.Format先行ゼロ問題
- 27. 動的な先行ゼロのデータセットの要素を調整する
- 28. Eclipse IDEはgroovyスクリプトの実行中に入力を許可しません
- 29. 先行ゼロで時間を得る
- 30. 入力にスペイン語の特殊文字を許可する
MVCがこれを処理しなければならないような気がしたので私自身の質問には答えたくありませんでしたが、2つの解決策が見つかりました。顧客検証を書いたり、Doubleの代わりに文字列を使用してTryParseそれはサーバー側です。私はこれらのソリューションのいずれかが本当に好きではありませんので、私はこの質問を残して、より良い答えが得られるかどうかを見ていきます。 –
私は同じ問題があります。私は.25が数字ではなく0.25がどのようになっているのか分かりません。カンマをintに入れても同じ問題です。私はその場合も文字列を作ることに頼った。 – PilotBob
まだ簡単な答えはありませんか? 0.25 == 0.25? –