¥H¤U¬O¤Þ¥Î¤ù¬q¡G
<ValidateInfo>
<ControlName>±Æ¤f¼Æ¶q</ControlName>
<DataType>Integer</DataType>
<Require>true</Require>
<Expression>range(1, 100)</Expression>
</ValidateInfo>
¦bpageªºPage_Init¨Æ¥ó¤¤¡A½Õ¥ÎÃþ¤èªk¡G
ValidateHelper.LoadFromFile("¸ê®Æ®ÕÅç_°t¸m.xml") §Y¥i¡C
Ãþ³]p¡G
// °t¸m¸ê°TÃþ
class ValidateInfo
{
public string ControlName;
public ValidationDataType DataType;
public string ErrorMessage;
public bool Require;
public string Expression;
}
// ®ÕÅç±±¨î¶µ³Ð«Ø¤u¼t
public class ValidatorFactory
{
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator(string min, string max);
CreateCompareValidator(ValidationCompareOperator oper, string valueToCompare);
...
}
// ®ÕÅç³W«h¸ÑªR¾¹¡A®Ú¾Ú°t¸m¸ê°T¡A³Ð«Ø®ÕÅç±±¨î¶µ
public class ValidatorParser
{
Parse(ValidateInfo info, ValidatorFactory factory);
...
}
// Ū¨ú°t¸m¸ê°T¡A¨Ã¸j©w®ÕÅç±±¨î¶µ¨ìªí³æ
public class ValidateHelper
{
LoadFromFile(Page page, string fileName)
}