لا يعمل مدقق النطاق في asp.net الحد الأدنى والحد الأقصى للقيمة

StackOverflow https://stackoverflow.com//questions/21029092

سؤال

لقد سجلت 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 حرف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top