لا يعمل مدقق النطاق في asp.net الحد الأدنى والحد الأقصى للقيمة
-
21-12-2019 - |
سؤال
لقد سجلت RangeValidator
على TextBox
.لكنه يظهر لي دائما خطأ:النطاق غير صالح، على الرغم من أنني أعطيت الحد الأدنى للقيمة 10 والحد الأقصى للقيمة 25.أريد ألا يقوم المستخدم بإدخال قيمة طولها أقل من 10 وأكبر من 25.أريد أن يتمكن هذا المستخدم من إدخال أي شيء، لذلك قمت بذلك type="string"
في RangeValidator
.ولكن دائما يعطيني رسالة خطأ:النطاق غير صالح.
<td>
<asp:TextBox ID="tbPassword" runat="server" MaxLength="25" type="password">
</asp:TextBox>
<asp:RequiredFieldValidator ID="rfvPassword" runat="server"
ControlToValidate="tbPassword" ForeColor="red" Display="Dynamic"
ErrorMessage="Password is required." SetFocusOnError="true">
</asp:RequiredFieldValidator>
<asp:RangeValidator ID="rvPassword" ControlToValidate="tbPassword"
ForeColor="red" Display="Dynamic" MinimumValue="10" MaximumValue="25"
SetFocusOnError="true" Type="String" runat="server"
ErrorMessage="Invalid Range">
</asp:RangeValidator>
</td>
المحلول
لهذا سوف تحتاج إلى استخدام CustomValidator
السيطرة كما اقترح عماد مختار.
للتحقق من صحة جانب الخادم، قم بإنشاء حدث مثل هذا.
protected void TextValidate(object source, ServerValidateEventArgs e)
{
e.IsValid = (e.Value.Length >= 10 && e.value.Length <= 25);
}
للتحقق من صحة جانب العميل، قم بإنشاء وظيفة جافا سكريبت مثل هذه.
<script type="text/javascript">
function validateLength(oSrc, args){
args.IsValid = (args.Value.length >= 10 && args.Value.length <= 25);
}
</script>
ثم في علامة aspx الخاصة بك لديك CustomValidator
السيطرة مثل هذا.
<asp:Textbox id="tbPassword" runat="server" text=""></asp:Textbox>
<asp:CustomValidator id="customValidator" runat="server"
ControlToValidate = "tbPassword"
OnServerValidate="TextValidate"
ErrorMessage = "Password must be between 10 to 25 characters!"
ClientValidationFunction="validateLength" >
</asp:CustomValidator>
يمكنك العثور على مزيد من التفاصيل هنا.
نصائح أخرى
يمكن تنفيذ هذا التحقق باستخدام التحكم CustomValidator وتطبيق التحقق من جانب العميل والخادم، يرجى الاطلاع على النموذج هنا.
لقد لاحظت مؤخرًا هذه الميزة الرائعة، ما عليك سوى استخدام السمات أدناه للتحكم في asp/html.الحد الأدنى للطول = "10" الحد الأقصى للطول = "1000"
كما تنص السمات بوضوح على أنها تسمح بحد أدنى 10 أحرف والحد الأقصى 1000 حرف.