一つは、ユーザが、大手小数点で値を入力したときに、このフィールドの検証が失敗したMVC3データ注釈正規表現のバリデータ属性失敗
[Display(Name="Gram Weight")]
[RegularExpression(@"[0-9]*\.?[0-9]+", ErrorMessage = "Gram Weight must be a Number.")]
[Range(0, 9999.99, ErrorMessage = "Value must be between 0 - 9,999.99")]
public decimal? GramWeight { get; set; }
として定義され、財産、GramWeightを持っています0.23ではなく23である。ユーザーが0を前面に追加すると、検証にパスします。私はこれが私の正規表現の問題だと思っていましたが、私はこのhttp://regexhero.net/tester/でいくつかのテストを実行しましたが、うまくいくようです。
正規表現ではない場合、それ以外のものはありますか?私はそうすることに失敗した場合、ユーザーのために0を追加するためにJavaScriptを使用する準備ができています。それは私の最後のリゾートオプションのようなものですが、私はそれを考慮しています。
私はそれを撃つでしょう。 –
OK、プロパティの種類を文字列に変更した後に動作するようです。それは問題を説明していますが、私はすべての小数フィールドを文字列として表現しているモデルのアイデアが気に入らないと思います。ビューのために素晴らしい、私は思うが、どこにもない。私のモデルはしばしばドメインオブジェクトとして機能するので、これは本当に吹き飛びます。しかし、ソリューションをありがとう。 –
小数点で始まる場合は、javascriptのような音がプレフィックスとしてゼロのために呼び出されることがあります。あなたはまた、クライアント側の検証/入力フィルタリングを使用していますか? –