为了账号安全,请及时绑定邮箱和手机立即绑定

POST请求之前的表单验证

POST请求之前的表单验证

有只小跳蛙 2022-09-02 16:05:49
所以我有2个函数,一个是异步函数,基本上是HTTP Post Request,另一个是表单验证。我希望 POST 请求函数仅在表单验证函数返回 true 时才触发。表单验证如下所示:regForm.addEventListener('submit', function(event){  if (checkInputs()) {    // trigger post request function  }})function checkInputs() {  const usernameValue = form.username.value.trim();  const passwordValue = form.password.value.trim();  const emailValue = form.email.value.trim();  if (usernameValue === '') {    // trigger another function that handles errors   setError(form.username, 'Can\'t be blank');  } else {   // triggers function that handles success(color change, etc.)   setSuccess(form.username);  }  if (passwordValue=== '') {    // trigger another function that handles errors   setError(form.password, 'Can\'t be blank');  } else {   // triggers function that handles success(color change, etc.)   setSuccess(form.password);  }}但这似乎不起作用,它不会触发POST请求功能。
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

它会触发,因为您不会从 checkInputs 函数返回任何内容。


您需要返回布尔值 /true 或 false/。


像这样:


function checkInputs() {

  const usernameValue = form.username.value.trim();

  const passwordValue = form.password.value.trim();

  const emailValue = form.email.value.trim();

  let check = true;

  if (usernameValue === '') {

    // trigger another function that handles errors

    setError(form.username, 'Can\'t be blank');

    check = false;

  } else {

    // triggers function that handles success(color change, etc.)

    setSuccess(form.username);

  }


  if (passwordValue=== '') {

    // trigger another function that handles errors

    setError(form.password, 'Can\'t be blank');

    check = false;

  } else {

    // triggers function that handles success(color change, etc.)

    setSuccess(form.password);

  }


  return check;

}


查看完整回答
反对 回复 2022-09-02
?
守候你守候我

TA贡献1802条经验 获得超10个赞

在函数 checkInputs() 中,创建一个变量 ,在每个 if 语句中将此变量赋值 false:let check = true


if (usernameValue === '') {

  setError()

  check = false;

}

return check;在函数结束时。


查看完整回答
反对 回复 2022-09-02
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信