の有効性を実証boolることがtrueでなければなりません使用xVal
-
22-09-2019 - |
質問
という要求を徹底チェックボックスは、HTML形式で目印になるとともに、前を提出しました。
でのユーザーの場合このボックスしていないの確認を適切なメッセージがいる全ての情報からxVal検証形式のデータも同時に行います。
見つからな情報を、他の場所でも使用できxValを検証するにはbool true又はfalse)と同様の [Range(min, max)]
DataAnnotationまたは手動でなければいけませ .AddModelError(..)
を含むこれらの情報の追加のエラーのViewModel?
解決
また自分でValidationAttribute?を作成しましたTrueTypeAttributeこのような状況です。
using System;
using System.ComponentModel.DataAnnotations;
namespace KahunaCentralMVC.Data.ModelValidation.CustomValidationAttributes
{
public class TrueTypeAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null) return false;
bool newVal;
try
{
newVal = Convert.ToBoolean(value);
if (newVal)
return true;
else
return false;
}
catch (InvalidCastException)
{
return false;
}
}
}
}
[MetadataType(typeof(FooMetadata))]
public partial class Foo
{
public class FooMetadata
{
[Required(ErrorMessage = " [Required] ")]
[TrueTypeAttribute(ErrorMessage = " [Required] ")]
public bool TruVal { get; set; }
}
}
他のヒント
XVALは、チェックボックスで必要なフィールドデータアノットを扱い、チェックする必要があります。チェックボックスが真であるか偽である可能性がある(nullではなく)、非脆弱なブール値を表現しようとしていたので、私は最近この状況を回避しなければなりませんでした。しかし、あなたの場合、これは完全に機能します。ただし、おそらく「これらの用語を受け入れる必要がある」タイプメッセージを探している必要なフィールド検証メッセージが提供されます。
XVALリモートルール検証を使用し、AJAXリソースから検証するのが最も簡単かもしれません。
所属していません StackOverflow