C# Winform 定义Models字段 属性限制输入

http://www.voidcn.com/article/p-ygmrcitj-bye.html

 

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

public class Person {
private int m_iAge = 1;
private string m_sFirstname = "Unknown";
private string m_sLastname = "";
private string m_sGroupCode = "AAA";

[Required(ErrorMessage = "Age is a required field.")]
[Range(1, 100, ErrorMessage = "A persons age must be between 1 and 100.")]
public int Age
{
    get { return m_iAge; }
    set { m_iAge = value; }
}

[Required(ErrorMessage = "Firstname is a required field.")]
public string Firstname
{
    get { return m_sFirstname; }
    set { m_sFirstname = value; }
}

public string Lastname
{
    get { return m_sLastname; }
    set { m_sLastname = value; }
}

[StringLength(3, MinimumLength = 3)]
public string GroupCode
{
    get { return m_sGroupCode; }
    set { m_sGroupCode = value; }
}

public void Validate() {
    ValidationContext context = new ValidationContext(this, serviceProvider: null, items: null);
    List<ValidationResult> results = new List<ValidationResult>();
    bool isValid = Validator.TryValidateObject(this, context, results, true);

    if (isValid == false) {
        StringBuilder sbrErrors = new StringBuilder();
        foreach (var validationResult in results) {
            sbrErrors.AppendLine(validationResult.ErrorMessage);
        }
        throw new ValidationException(sbrErrors.ToString());
    }
}
}



使用
   lstStatus.Items.Add("Creating a good person");
            Person Jeff = new Person();
            Jeff.Age = 33;
            Jeff.Firstname = "Jeff";
            Jeff.Lastname = "Jefferson";
            Jeff.GroupCode = "JJJ";
            // LOOK! This line was added
            Jeff.Validate();

            CollectionOfPeople.Add(Jeff);


posted @ 2021-03-04 13:33  LuoCore  阅读(90)  评论(0编辑  收藏  举报