#jquery #asp.net #validation
#jquery #asp.net #проверка
Вопрос:
Я использую jQuery для проверки формы. Когда пользователь не заполняет форму, он получает сообщение «требуются некоторые поля». Это работает, если у меня есть кнопка ввода, но когда я меняю это на asp: button для обратной отправки веб-страницы, проверка не работает.
Как я могу решить эту проблему?
большое спасибо.
код:
<script type="text/javascript">
$().ready(function()
{
var validator = $("#aspnetForm").bind("invalid-form.validate", function() {
}).validate({
errorElement: "em",
errorContainer: $("#warning, #summary"),
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
},
rules: {
<%=TextBoxCodigo.UniqueID %>: {required: true}
},
messages: {
<%=TextBoxCodigo.UniqueID %>:{required: "Requerido"}
}
});
$('#btnGuardar').click(function () {
var txtUsuario = $('#<%= TextBoxCodigo.ClientID %>').val();
if(validator.form())
{
$.msg({content: "valido"});
}else{$.msg({content: "El formulario tiene " validator.numberOfInvalids() " errores.<br> Por favor vea los detalles indicados."});}
});
});
</script>
public void btnGuardar_Click(object sender, EventArgs e)
{
BoClassCodigo boClassCodigo = new BoClassCodigo();
boClassCodigo.CodigoDescripcion = TextBoxCodigo.Text;
boClassCodigo.Sesion = new BoClassSesion();
boClassCodigo.Sesion.Sesiones = (Int64)((Usuario) Session["uSession"]).Sesion;
boClassCodigo.Sesion.Terminal = ((Usuario)Session["uSession"]).Usuario;
string cad = BllClassCodigo.InsertarCodigo(boClassCodigo,conexion);
}
Комментарии:
1. Можете ли вы опубликовать несколько примеров кода.
Ответ №1:
Из вашего вопроса, похоже, вам следует включить проверку на стороне клиента или отключить проверку на стороне клиента в зависимости от того, хотите ли вы, чтобы произошла обратная передача или нет.
Всегда рекомендуется использовать проверки как на клиенте, так и на сервере для повышения безопасности.
Ответ №2:
Я предполагаю, что ваш jQuery просматривает неправильный идентификатор.
Если у вас есть кнопка asp, подобная этой:
<asp:Button ID="btnOne" runat="server" />
Ваш код jquery должен смотреть на:
$('#<%= btnOne.ClientID %>')
Комментарии:
1. если я это сделаю, я не смогу увидеть кнопку на веб-странице.
2. Что значит, вы этого не видите? Как выглядит ваше определение кнопки asp?
3. кнопка во время выполнения не может быть просмотрена в веб-формах, это происходит, когда я удаляю тег runat =»server». <asp: Идентификатор кнопки =»btnGuardar» Text =»Button» /> если я использую тег runat =»server», кнопка запускает обратную отправку, и проверка jQuery не работает. 🙁
4. Опубликуйте свой код проверки jquery, вы, вероятно, делаете что-то неправильно при проверке.