首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 自訂 CompareValues 驗證屬性比較 Model 兩屬性值

     編輯:關於ASP.NET

繼承 ValidationAttribute 實作 CompareValuesAttribute,支援 Model 任意兩屬性的相等、不等、大小比較驗證。

屬性定義

public class CompareValuesAttribute : ValidationAttribute {
    public string OtherProperty { get; set; }
    public CompareValues Criteria { get; set; }
    public CompareValuesAttribute(string otherProperty, CompareValues criteria) { ... }
    protected override ValidationResult IsValid(object value, ValidationContext validationContext) {
        // 取得另一屬性值、型別檢查、依 Criteria 執行比較、回傳驗證結果
    }
}
public enum CompareValues { EqualTo, NotEqualTo, GreaterThan, LessThan, GreaterThanOrEqualTo, LessThanOrEqualTo }

使用方式

public class MyModel {
    public int StartValue { get; set; }
    [CompareValues("StartValue", CompareValues.GreaterThan)]
    public int EndValue { get; set; }
}

於需驗證的屬性標註屬性,指定比較目標屬性名稱與比較準則。驗證邏輯支援 IComparable 型別,自動整合至 MVC 模型驗證管線(客戶端/伺服器端)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved