テキストボックスから電子メールアドレスにフィールドを入力する必要がありますが、そのフィールドが機能しないため、RequiredFieldValidator
とRequiredExpressionValidator
は使用できません。電子メールアドレスの作成と同時に検証する方法を教えてください。
ユーザーがテキストボックスに何かを入力しないと、ユーザーはテキストを入力する必要があり、テキストボックスに赤が表示され、その後にユーザーがテキストを入力するスクリプトがあります。緑。しかし、問題は彼が緑色になり、電子メールアドレスの形式が無効であるというメッセージを表示しないことです。
ASP.NET:
<FooterTemplate>
<asp:TextBox ID="txtbemail" runat="server"/>
<asp:RegularExpressionValidator ID="regexEmailValid" runat="server" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="txtbemail">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate = "txtbemail"
runat="server" ErrorMessage="*Necessário preencher"/>
</asp:RegularExpressionValidator>
<asp:LinkButton ID="LinkButton1" CommandName="AddNew" runat="server" CssClass="btn btn-large btn-info pull-right">
<i class="glyphicon glyphicon-plus"></i> Adicionar
</asp:LinkButton>
</FooterTemplate>
はJavaScript:
01:問題の<script type="text/javascript">
//Define o intervalo para verificar os validadores
setInterval(function() { colorBorders() }, 100);
function colorBorders() {
if (typeof (Page_Validators) !== 'undefined') {
//Faz um loop para verificar os validadores
for (var i = 0; i < Page_Validators.length; i++) {
var validator = Page_Validators[i];
var control = document.getElementById(validator.controltovalidate);
//Verifica se o controle existe
if (control != null) {
// se o validador não for válido, coloque a borda vermelha, se for válida retornar à cor padrão
// elseif com a cor do rgb é necessário para impedir o desdobramento do cromo piscar
if (!validator.isvalid) {
control.style.borderColor = '#ff0000';
} else if (control.style.borderColor == "rgb(255, 0, 0)") {
control.style.borderColor = '#00ff00';
}
}
}
}
}
</script>
スクリーンショット
電子メールのテキストボックスは緑色になりますが、電子メールが有効な形式ではないため、このテキストボックスは表示されません。代わりに赤くなるはずです。ですから、どのようにして同時に必要な確認と検証ができ、必要なフィールドと無効なフォーマットのメッセージを表示できますか?
あなたのコードはうまく動作します、ありがとうございます、しかし、私はそれが必要なフィールドを表示すると、赤色に変更することはできますか?また、ユーザーが無効な形式の電子メールを入力した場合に、別のメッセージを表示するにはどうすればよいですか? – Monteiro
私は助けてうれしい。あなたは確かにできる。私はあなたの必要なものを含めるために私の答えを編集しました。それが助けられて以来、答えまたはupvoteを受け入れてください。 :) –