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

必需属性在注册表单中不起作用

必需属性在注册表单中不起作用

万千封印 2022-01-07 18:46:27
我有一个可与 Vue 和本地存储一起使用的注册表单,当我将表单提交为空白或省略输入时,数据将相同地进入本地存储,并且不显示通过添加required属性使用的 HTML 验证。如果表单的输入为空或电子邮件没有插入 at 符号,有什么方法可以通过显示 HTML 验证来解决此问题。形式:<form id="signup" method="post" v-on:submit.prevent>    <br>    <h1>Registration</h1>    <label for ="studentsorparents">Student or parents:</label>    <input type="text" id="studentsorparents" v-model="studentsorparents" required ="required">    <br><br>    <label for ="username">username:</label>    <input  type="text" id="username" v-model="username" required ="required" v-text="null">    <br><br>    <label for="email">email: </label>    <input  type="email" id="email" v-model='email' required ="required">    <br><br>    <label for="password">password: </label>    <input  type="password" id="password" v-model='password' required ="required">    <br><br>    <button v-on:click='onSubmit' onclick="passuseremail()" >Register</button></form>JS:var signupApp = new Vue({    el: '#signup',    data: {        studentsorparents: '',        username: '',        email: '',        password: '',    },    methods: {        onSubmit: function () {            // check if the email already exists            var users = '';            var studentParent = this.studentsorparents;            var newUser = this.username;            var newEmail = this.email;            if (localStorage.getItem('users')) { // 'users' is an array of objects                users = JSON.parse(localStorage.getItem('users'));            }            if (users) {                if (users.some(function (user) {                    return user.username === newUser                })) {                    alert('Account already exits');                    return;                }
查看完整描述

3 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您需要将按钮添加type='submit'到提交按钮,否则它的行为就像任何其他按钮一样。

<button v-on:click='onSubmit' onclick="passuseremail()" type="submit">Register</button>

然后它只充当提交按钮,否则它只会触发附加的按钮事件监听器。


查看完整回答
反对 回复 2022-01-07
?
精慕HU

TA贡献1845条经验 获得超8个赞

required输入中的属性后有空格:


必需="必需"


这是不正确的,它将不起作用;就这样写吧:


<input type=email id=email v-model=email required>

您可以像这样验证电子邮件:


const email_re = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;


if (email_re.test( email.value )) {

    /* email is valid */

} else {

    /* email is not valid */

}


查看完整回答
反对 回复 2022-01-07
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您可以向按钮添加一个类,例如 jsValidateRegister。并添加代码首先声明一个变量


isPageValid = true

然后添加以下代码进行验证,以便在 passuseremail(); 中将 isPageValid 设置为 false;


$(".jsValidateRegister").click(function ()

{

    passuseremail();    

});

在 onSubmit:function() 中检查


isPageValid === true


查看完整回答
反对 回复 2022-01-07
  • 3 回答
  • 0 关注
  • 294 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号