Проверить DateTime в блоке приложения проверки - PullRequest
1 голос
/ 18 мая 2010

Как проверить DateTime с помощью блока проверки приложения, чтобы он не превышал DateTime.Now?

спасибо.

Ответы [ 3 ]

0 голосов
/ 19 мая 2010

Я думаю, что самый простой способ сделать это с помощью блока приложения валидации - создать свойство, которое возвращает DateTime.Now, а затем использовать валидатор сравнения свойств.

SelfValidation также позволит вам делать то, что вы хотите. Валидатор сравнения свойств позволяет вам выводить логику, но он неправильно вводит свойство для сравнения.

Осуществление

public class Person
{
    public DateTime Now
    {
        get { return DateTime.Now; }
    }

    public DateTime BirthDate
    {
        get;
        set;
    }
}


<type assemblyName="MyApp.Entities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MyApp.Entities.Person">   
  <ruleset name="MyRuleSet">
    <properties>
      <property name="BirthDate">
        <validator operator="LessThanEqual" propertyToCompare="Now" negated="false"
          messageTemplate="I don't know nothin' about birthin' no babies in the future." messageTemplateResourceName=""
          messageTemplateResourceType="" tag="" type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.PropertyComparisonValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
          name="Property Comparison Validator" />
      </property>
    </properties>   
  </ruleset> 
</type>
0 голосов
/ 01 ноября 2011

Вы можете использовать RelativeDateTimeValidator . Ниже предполагается, что у нас нет людей старше 140 лет ( миров с самым старым , до сих пор было 122 на момент смерти).

[RelativeDateTimeValidator(-140, DateTimeUnit.Years, 0, DateTimeUnit.Second,
       MessageTemplate = "Sorry, no predicted births allowed.")]
public DateTime DateOfBirth
{ get; set;}
0 голосов
/ 18 мая 2010

Вы можете использовать Regex для проверки, просто выберите формат времени http://regexlib.com/REDetails.aspx?regexp_id=504

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...