Я хочу проверить, если стоимость, введенная в компьютер в неударе в лунку #rol_nombre
он не находится в базе данных, чтобы мочь хранить это.
input
<div class="field">
<div class="ui corner labeled input">
<input type="text" placeholder="Nombre." name="rol_nombre" id="rol_nombre">;
<div class="ui corner label">
<i class="asterisk icon"></i>
</div>
</div>
</div>
backend
Когда он находит реестр с тем же именем, возвратись false
.
findByName: async (req, res) => {
let rows = await Rol.findByName(req.query.key);
if (rows.length > 0) {
res.send(false);
} else {
res.send(true);
}
}
script del formulario
$(() => {
$.fn.form.settings.rules.myCustomRule = function (param) {
$.ajax({
url: `/rol/search?key=${param}`,
success: function (respuesta) {
console.log(respuesta);
return respuesta;
},
error: function () {
console.log("No se ha podido obtener la información");
}
});
}
$('#frm-rol').form({
rol_nombre: {
identifier: 'rol_nombre',
rules: [
{ type: 'empty', prompt: 'Ingrese un nombre' },
{ type: 'maxLength[45]', prompt: 'Debe ingresar maximo 10 caracteres' },
{ type: 'myCustomRule[nombre]', prompt: 'El nombre ya fue registrado' }
]
}
})
});
Проблема кажется в течение возврата ответа в функции myCustomRule
, предполагается, что, если он получает true
моей просьбы ajax он был бы должен продолжать с реестром, но он это не делает, console.log(respuesta)
выполненный в success
напечатай правильно ответ, который он получает backend
но в мой критерий myCustomRule
он не получает true
ajax.