feat: enhance email validation and improve name display logic in personnel management forms
Some checks failed
Spell Check / Spell Check with Typos (push) Failing after 7s

This commit is contained in:
puriphatt 2025-07-09 10:55:02 +07:00
parent 14487ed849
commit 9539adee36
2 changed files with 12 additions and 15 deletions

View file

@ -253,16 +253,13 @@ watch(
hide-bottom-space hide-bottom-space
:readonly="readonly" :readonly="readonly"
:label="$t('form.email')" :label="$t('form.email')"
:rules=" :rules="[
readonly (val) => (val && val.length > 0) || $t('form.error.required'),
? undefined (v: string) =>
: [ !v ||
(v: string) => /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g.test(v) ||
!v || $t('form.error.invalid'),
/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g.test(v) || ]"
$t('form.error.invalid'),
]
"
class="col-md-3 col-6" class="col-md-3 col-6"
:model-value="readonly ? email || '-' : email" :model-value="readonly ? email || '-' : email"
@update:model-value="(v) => (typeof v === 'string' ? (email = v) : '')" @update:model-value="(v) => (typeof v === 'string' ? (email = v) : '')"

View file

@ -1278,7 +1278,7 @@ watch(
{{ {{
locale === 'eng' locale === 'eng'
? `${props.row.firstNameEN} ${props.row.lastNameEN}`.trim() ? `${props.row.firstNameEN} ${props.row.lastNameEN}`.trim()
: `${props.row.firstName} ${props.row.lastName}`.trim() : `${props.row.firstName || props.row.firstNameEN} ${props.row.lastName || props.row.lastNameEN}`.trim()
}} }}
<q-tooltip <q-tooltip
anchor="bottom left" anchor="bottom left"
@ -1288,7 +1288,7 @@ watch(
{{ {{
locale === 'eng' locale === 'eng'
? `${props.row.firstNameEN} ${props.row.lastNameEN}`.trim() ? `${props.row.firstNameEN} ${props.row.lastNameEN}`.trim()
: `${props.row.firstName} ${props.row.lastName}`.trim() : `${props.row.firstName || props.row.firstNameEN} ${props.row.lastName || props.row.lastNameEN}`.trim()
}} }}
</q-tooltip> </q-tooltip>
@ -1556,7 +1556,7 @@ watch(
:title=" :title="
locale === 'eng' locale === 'eng'
? `${currentUser.firstNameEN} ${currentUser.lastNameEN}` ? `${currentUser.firstNameEN} ${currentUser.lastNameEN}`
: `${currentUser.firstName} ${currentUser.lastName}` : `${currentUser.firstName || currentUser.firstNameEN} ${currentUser.lastName || currentUser.lastNameEN}`
" "
v-model:drawerOpen="infoDrawer" v-model:drawerOpen="infoDrawer"
:submit="() => onSubmit()" :submit="() => onSubmit()"
@ -1592,8 +1592,8 @@ watch(
setPrefixName( setPrefixName(
{ {
namePrefix: formData.namePrefix, namePrefix: formData.namePrefix,
firstName: formData.firstName, firstName: formData.firstName || formData.firstNameEN,
lastName: formData.lastName, lastName: formData.lastName || formData.lastNameEN,
firstNameEN: formData.firstNameEN, firstNameEN: formData.firstNameEN,
lastNameEN: formData.lastNameEN, lastNameEN: formData.lastNameEN,
}, },