質問

RangeValidatorTextBoxを適用しました。しかし、それは常に私のエラーを示しています:無効な範囲は、最小値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>
.

役に立ちましたか?

解決

これには、Emad Mokhtarによって提案されているようにCustomValidatorコントロールを使用する必要があります。

サーバ側検証の場合は、このようなイベントを作成してください。

protected void TextValidate(object source, ServerValidateEventArgs e)
{
    e.IsValid = (e.Value.Length >= 10 && e.value.Length <= 25);
}
.

クライアント側の検証の場合は、このようなJavaScript関数を作成してください。

<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 Controlを使用して実装することができ、クライアントとサーバー側の検証を適用することができます。こちら

最近このクール機能を観察して、以下の属性をASP制御/ HTMLに使用するだけです。 minlength="10" maxlength="1000"

属性としては、最小10文字と最大1000文字の最大1000文字が可能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top