是的,只允许一个单一的域名地址在vue 3?



我有一个添加用户表单,需要只允许一个域名地址在Yup,例如(sponge@abc.com)在这里必须只允许"@abc.com"。不允许@outlook.com,不允许@gmail.com等。任何帮助吗?提前谢谢你。

const addUser = Yup.object().shape({
email: Yup.string()
.email(i18n.t("form.message.email"))
.required(i18n.t("form.message.required")),
first_name: Yup.string().required(i18n.t("form.message.required")),
last_name: Yup.string().required(i18n.t("form.message.required")),
});

这里是html代码

<div class="mb-4 col-sm-12">
<label class="form-label fw-bold"
>{{ $t("form.label.email") }}:</label
>
<Field
class="form-control"
type="email"
v-model="email"
name="email"
autocomplete="off"
:placeholder="$t('form.label.email')"
/>
<div class="fv-plugins-message-container">
<div class="fv-help-block">
<ErrorMessage name="email" />
</div>
</div>
</div>

您应该使用regex来验证电子邮件域

const addUser = Yup.object().shape({
email: Yup.string()
.email(i18n.t("form.message.email")) 
.required(i18n.t("form.message.required"))
.matches(/@abc.com$/, 'Domain not allowed) // <--- Add this,
first_name: Yup.string().required(i18n.t("form.message.required")),
last_name: Yup.string().required(i18n.t("form.message.required")),
});

相关内容

  • 没有找到相关文章

最新更新