范围验证器的最小值和最大值?

时间:2012-05-09 07:37:33

标签: asp.net validation rangevalidator

范围验证器用于字符串,整数和日期。任何人都可以给我,它们的最小值和最大值?

2 个答案:

答案 0 :(得分:1)

最小和最大长度是int和double类型的euqal长度...

范围验证器控件是一个验证器控件,用于检查控件值是否在有效范围内。此控件所需的属性包括:MaximumValue,MinimumValue和Type。

如果MaximumValue或MinimumValue属性指定的值无法转换为Type属性指定的数据类型,则RangeValidator控件将引发异常。

RangeValidator不是验证字符串长度的好验证器。您最好使用RegularExpressionValidator来验证它。

http://forums.asp.net/t/1046041.aspx/1?how+to+use+RangeValidator+for+String+type+

答案 1 :(得分:0)

使用MaximumValue属性指定验证范围的最大值。如果此属性指定的值无法转换为BaseCompareValidator.Type属性指定的数据类型,则抛出异常。

例如,如果您将Type设置为Integer,如果该值大于Int32.MaxValue,则会引发异常。

  

如果是字符串,什么是最小值和最大值?

这是javascript RangeValidator函数:

function RangeValidatorEvaluateIsValid(val) {
    var value = ValidatorGetValue(val.controltovalidate);
    if (ValidatorTrim(value).length == 0)
        return true;
    return (ValidatorCompare(value, val.minimumvalue, "GreaterThanEqual", val) &&
            ValidatorCompare(value, val.maximumvalue, "LessThanEqual", val));
}

正如您将看到它将ACSII codes与字符串进行比较。 '0'到'9'的ASCII值是48到57,'a'到'z'的ASCII值是97到122,'A'到'Z'的ASCII值是65到90.所以{ {1}}和MinimumValue是验证器有效的这些ASCII代码的下限和上限。

MaximumValue

http://forums.asp.net/t/1046041.aspx/1?how+to+use+RangeValidator+for+String+type+

请注意,如果要验证空文本,则需要额外的function ValidatorCompare(operand1, operand2, operator, val) { var dataType = val.type; var op1, op2; if ((op1 = ValidatorConvert(operand1, dataType, val)) == null) return false; if (operator == "DataTypeCheck") return true; if ((op2 = ValidatorConvert(operand2, dataType, val)) == null) return true; switch (operator) { case "NotEqual": return (op1 != op2); case "GreaterThan": return (op1 > op2); case "GreaterThanEqual": return (op1 >= op2); case "LessThan": return (op1 < op2); case "LessThanEqual": return (op1 <= op2); default: return (op1 == op2); } }