0
返回錯誤我有此視圖動態字段
<div id="div_email" class="panel panel-default">
<div class="panel-heading">
<div style="float:left;margin-top:7px;">
Email
</div>
<div align="right" >
<a class="btn btn btn-default btn-square" onclick="add_email()"><i class="fa fa-plus" ></i></a>
</div>
</div>
<div class="panel-body">
<div id="dynamic_email" class="form-group input-group">
<span class="input-group-addon">
<i class="fa fa-envelope"></i>
</span>
{{ Form::text('email', Input::old('email'), array('id'=>'email1','name'=>'email[]','class'=>'remove_err_onkeyup form-control','placeholder'=>'Email', 'onblur'=>'fetchRecord()', 'autocomplete' => 'off')) }}
</div>
@if($errors->has('email'))
<div class="err text-danger">
@foreach($errors->get('email') as $key => $message)
{{ $message }}
@if($key + 1 < count($errors->get('email')))
<br>
@endif
@endforeach
</div>
@endif
</div>
</div>
它將調用一個jquery函數來添加附加的文本框+按鈕被點擊
function add_email()
{
var ctr = $("#dynamic_email").length + 1;
var email_html = $('<div class="form-group input-group"><span class="cs_icon_cursor input-group-addon" onclick="remove_input($(this))" onmouseover="$(this).children(\'i\').attr(\'class\',\'fa fa-times\').css(\'width\',\'14px\')" onmouseout="$(this).children(\'i\').attr(\'class\',\'fa fa-envelope\')"><i class="fa fa-envelope"></i></span><input id="email'+ ctr +'" class="form-control" type="text" name="email[]" placeholder="Email"></div>');
email_html.hide();
$("#dynamic_email").after(email_html);
email_html.fadeIn('slow');
}
窗體將當然後通過表格提交提交,輸入數據將爲
'email' =>
array (
0 => '[email protected]',
1 => '[email protected]',
)
所以我做我自己的驗證來驗證電子郵件
//check if email is set prevent error
if(isset($inputs['email']))
{
//check if theres an email set
if(count($inputs['email']) > 0)
{
//loop through the email
foreach($inputs['email'] as $email)
{
if($email)
{
//check email format if valid
if(filter_var($email, FILTER_VALIDATE_EMAIL) == FALSE)
{
// display_output('invalid email');
$validator->getMessageBag()->add('email','Invalid Email: '.$email);
$err_flag++;
}
else
{
//if email format is valid. next check domain if valid
//get domain name
$domain = explode('@',$email)[1];
//check domain if valid
if(checkdnsrr($domain, "ANY") == FALSE)
{
// display_output('invalid domain');
$validator->getMessageBag()->add('email','Invalid domain: '.$domain);
$err_flag++;
}
}
}
}
}
}
if($err_flag > 0)
{
return Redirect::to('researcher/create')
->withInput()
->withErrors($validator);
}
我的問題是,纔有可能在表單提交,舊郵件值返回到文本框中?我收到此錯誤
htmlentities() expects parameter 1 to be string, array given
從我的理解,在返回的電子郵件輸入輸入數組,我怎麼能添加正確的文本框數和文本框裏面的價值?
你使用laravel 4還是5? – Jerodev 2014-11-03 13:31:31
我正在使用Laravel Framework 4.2.11版本 – Ponce 2014-11-04 05:20:32