ここで簡単な検証が(私は電話番号、郵便番号と同様に検証するためにそれを使用する)私は数文字列だけを強制するために書いた属性の:ValidationAttributeの値常にnull
public class NumericAttribute : ValidationAttribute {
public NumericAttribute() {
ErrorMessage = SharedModelResources.ValidationStrings.Numeric; // Message coming from a .resx file
}
public override bool IsValid(object value) {
string stringValue = value as string;
if (stringValue.IsNotNull())
foreach (var c in stringValue)
if (!char.IsDigit(c))
return false;
return true;
}
}
問題は、使用時に検証することです文字列以外の10進数、短い文字、intなど何もかも、object value
は常にnull
です。なぜ数字のみの小数を検証するのですか?私がしなければ、デフォルトの検証メッセージ '値' x 'は' propertyName 'には無効です。私は、デフォルトの検証メッセージの特定の問題に対する解決策を認識しています。
...
ところで、私は、ASP.NET MVC 2(最終)VS2008、.NET 3.5 SP1を使用しています。
あなたのコードをもっと投稿できますか?この動作を示すビューとモデル(またはそれらの一部)を見るのが好きです。 – mlibby