【问题标题】:Validating an email in native script code在本机脚本代码中验证电子邮件
【发布时间】:2020-03-07 17:55:27
【问题描述】:

我正在使用 if 语句来验证电子邮件,但是当我将其添加到本机脚本游乐场时,它说函数只能在顶层或块内声明。所以我不确定在哪里添加这段代码。

<template>
<Page>
    <ActionBar title="authentication" />
        <StackLayout id="registervalidate" class="registervalidate">
            <TextField v-model="youremail" class="youremail"></TextField>
            <TextField v-model="yourpassword" class="yourpassword"></TextField>
            <Button text="submit" @tap="onSubmit" />
        </StackLayout>
  </Page>
</template>

<script>
export default{
data(){
return{
yourmail:'',
    yourpassword:''
 } 
 },
  methods: {
    onSubmit: function() {
            if (!this.youremail) {
                 } else if (!this.validEmail(this.youremail)) { 
//CHECK IF EMAIL IS VALID

                   return;
            }
            if (!this.yourpassword) {
                return;
            } else {
                return;
            }

  validEmail: function(email) {   // valid email 
  var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\ 
  [[0-9]{1,3}\.[0-9] 
  {1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return re.test(email);

}

</script>

【问题讨论】:

  • 你有没有试过在你的js周围加上&lt;script&gt;...&lt;/script&gt;标签?
  • 感谢您的回复。是的,我确实说过,但它说“函数只能在顶层或块内声明”

标签: javascript vue.js authentication nativescript native


【解决方案1】:

您应该在脚本部分使用 export default 并在validEmail 方法的末尾添加} 并在validEmail 方法之前缺少},,您还应该使用如下数据对象:

<template>
    <Page>
        <ActionBar title="authentication" />
        <StackLayout id="registervalidate" class="registervalidate">
            <TextField v-model="youremail" class="youremail"></TextField>
            <TextField v-model="yourpassword" class="yourpassword">
            </TextField>
            <Button text="submit" @tap="onSubmit" />
        </StackLayout>
    </Page>
</template>

<script>
    export default {
        data() {
            return {
                yourmail: "",
                yourpassword: ""
            };
        },
        methods: {
            onSubmit: function() {
                if (!this.youremail) {} else if (!this.validEmail(this
                        .youremail)) {
                    //CHECK IF EMAIL IS VALID

                    return;
                }
                if (!this.yourpassword) {
                    return;
                } else {
                    return;
                }
            },
            validEmail: function(email) {
                // valid email
                var re =
                    /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
                return re.test(email);
            }
        }
    };
</script>

检查这个playground

【讨论】:

  • 嘿,我添加了导出默认值并添加了数据对象,但出现了同样的错误。
猜你喜欢
  • 2015-03-17
  • 2020-04-05
  • 1970-01-01
  • 2021-02-16
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
相关资源
最近更新 更多