これらのプロパティを持つ SearchViewModel があります。
[RegularExpression("name")]
public String SortField;
[RegularExpression("asc|desc")]
public String SortDirection;
ご覧のとおり、現時点で SortField の有効な値は "name" だけにし、SortDirection の有効な値は "asc" または "desc" だけにします。
ただし、値が異なる場合、ValidateModel はエラーをキャッチせず、ModelState.IsValid は true を返します。基本的に、私は任意の値を提供でき、それは常に通過します。
省略されたコントローラ メソッド:
public ActionResult List(SearchViewModel model)
{
ValidateModel(model); // No error here
Boolean isValid = ModelState.IsValid // This is true
//...
}
私は何を間違っていますか?
編集:これが重要かどうかはわかりませんが、カスタム ModelBinder を使用しています。