大佬教程收集整理的这篇文章主要介绍了寻找一种在 Vue 表单中翻译(i18n)laravel 表单验证规则的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我用 Vue 在 laravel 中构建了一个带有一些验证规则的表单,这有效,当出现错误时,它会向我显示一条消息,但我也有一个语言环境切换器,它也适用于表单中的文本,但不是对于验证输出,所以总是有英文的。我正在使用 i18n 用于翻译文本的插件。
有没有办法让验证规则 i18n 准备好?
registerController.php
protected function valIDator(array $data)
{
$custommessages = [
'name' => 'some custom message can go here...',];
$valIDator = ValIDator::make($data,[
'name' => ['required','min:2','String','max:100'],'email' => ['required','email','max:255','unique:users'],'password' => [
'required'
'min:10','regex:/[a-z]/',// must contain at least one lowercase letter
'regex:/[A-Z]/',// must contain at least one uppercase letter
'regex:/[0-9]/',// must contain at least one digit
'regex:/[@$!%*#?&]/',// must contain a special character
],],$custommessages);
return $valIDator;
}
componentForm.vue
<template>
<form @submit.prevent="formsubmit">
<el-input type="text" name="name" v-model="fIElds.name"
label="name" :error="errors.name"/>
<el-input type="email" name="email" v-model="fIElds.email"
label="E-mailaddress" :error="errors.email"/>
<el-input type="password" name="password" v-model="fIElds.password"
label="password" :error="errors.password"/>
<button type="submit" class="btn btn--priMary btn--xl btn--block">
{{ $t("auth.register") }}
</button>
</form>
</template>
<script>
import espressolocale from '../../Components/Contextual/Locale';
import espressoCard from '../../Components/UI/Card';
import elinput from '../../Components/Forms/input';
export default {
components: {
elinput,},data() {
return {
fIElds:{
name: "",email: "",password: "",errors: {
name: null,email: null,password: null,}
},methods: {
resetFIElds () {
this.fIElds.name = "";
this.fIElds.email = "";
this.fIElds.password = "";
},formsubmit (E) {
e.preventDefault();
this.errors = {};
axios.get('/sanctum/csrf-cookie').then(response => {
axios({
method: 'post',url: '/API/register',data: {
name: this.fIElds.firstname,email: this.fIElds.email,password: this.fIElds.password,valIDateStatus: (status) => {
return true;
}
}).then(response => {
if (response.data.success) {
} else {
this.errors = response.data.errors || {};
}
}).catch(function (error) { });
});
}
},}
</script>
您应该在组件中编写 :error="$t(errors.Name)"
,就像编写 {{ $t("auth.register") }}
以显示有关 register 的翻译文本。 我假设您在错误响应中获得了 i18n 语言环境结构化对象,如下所示:
errors: {
name: 'errors.name',...
}
以上是大佬教程为你收集整理的寻找一种在 Vue 表单中翻译(i18n)laravel 表单验证规则的方法全部内容,希望文章能够帮你解决寻找一种在 Vue 表单中翻译(i18n)laravel 表单验证规则的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。