#javascript #php #html #laravel #bootstrap-4
#javascript #php #HTML #laravel #bootstrap-4
Вопрос:
У меня есть загрузочная форма, в которой пользователь вводит нужное мне электронное письмо, если пользователь не вводит @scoops.com он автоматически объединяет либо сторону формы, либо сторону контроллера
В контроллере это сохраняется с помощью этого $customer->email = $request->email;
если хотите проверить на стороне контроллера, как я могу проверить, вводит ли пользователь @scoops.com в конце имени пользователя. Если она отсутствует, то объедините @scoops.com с именем пользователя
<div class="form-group">
<label>Email <span style="opacity: 0.5; font-style: italic; color: red;">(Required)</span></label>
<div class="input-group">
<input type="search" name="email" id="email" autocomplete="off" class="form-control input-lg" placeholder="Enter Email" name="name" required="@scoops.com" / onfocus='tmp=this.value;this.value=""' onblur='if(this.value=="")this.value=tmp'>
<div class="input-group-append">
<span class="input-group-text">@scoops.com</span>
</div>
</div>
<ul id="suggested-emails" class="list-group"></ul>
<span id="error_email"></span>
@if($errors->has('email'))
<div class="alert alert-danger">
{{ $errors->first('email') }}
</div>
@endif
</div>
`
Ответ №1:
Что-то вроде:
$customer->email = $request->email;
if (!preg_match('/^.*@scoops.com$/', $customer->email)) {
$customer->email .= '@scoops.com';
}
Риск заключается в том, что они вставляют anything@example.com затем вы получите anything@example.com@scoops.com . Вероятно, требуется что-то дополнительное, чтобы проверить, похоже ли это уже на адрес электронной почты (т. Е. содержит хотя бы «@» в нем).
Комментарии:
1. спасибо за вашу помощь, вы правы, так что на случай, если у нас должна быть предварительная проверка с использованием javascript, я думаю
Ответ №2:
Прежде всего вы проверите, @scoop.com присутствует или нет, как показано ниже:
use IlluminateSupportStr;
$myString = '@scoop.com';
$contains = Str::contains($request->email, '@scoop.com');
$contains будет либо true, либо false
если значение равно false, то объедините @scoop.com как показано ниже
$newString = $request->email.$myString;
Комментарии:
1. хотя этот ответ не имеет никаких ограничений. я пробовал это.