【问题标题】:Laravel 4 When i retrieve info from database into input text, 1 extra space is addedLaravel 4 当我从数据库中检索信息到输入文本中时,添加了 1 个额外的空间
【发布时间】:2015-01-13 16:05:46
【问题描述】:

我正在做一个表单,用户可以在其中更新他的信息。该表单显示了几个输入,从数据库中检索到的信息显示在其中。 我注意到,当显示信息时,会添加一个额外的空格。例如,如果我检索日期“1965-08-29”,那么在表单中我注意到末尾添加了一个额外的空格:“1965-08-29”。

所有输入都会发生这种情况,导致验证失败。

这是一个关于我如何在控制器中检索数据的示例代码:

$id_user=Auth::user()->id;
    $usuario=User::find($id_user);
    if(isset($usuario->nombre_pila)){$nombrepila=$usuario->nombre_pila;}else{$nombrepila='';}
    if(isset($usuario->ap_paterno)){$ap_paterno=$usuario->ap_paterno;}else{$ap_paterno='';}
    if(isset($usuario->ap_materno)){$ap_materno=$usuario->ap_materno;}else{$ap_materno='';}

这是我将这些数据发送到视图的方式:

return View::make('profile.edit',array('id_user'=>$id_user, 'nombrepila'=>$nombrepila, 'ap_paterno'=>$ap_paterno,'ap_materno'=>$ap_materno));

以下是视图中输入的一些示例:

    <div class="form-group @if ($errors->has('nombre_pila')) has-error @endif"><!--Nombre de pila-->
        <label for="nombre_pila" class="col-sm-2 control-label">Nombre(s) de pila:</label>
        <div class="col-sm-6">
            <input type="text" class="form-control" id="nombre_pila" name="nombre_pila" maxlength="45" value="@if(isset($nombrepila)){{$nombrepila}} @endif">
        </div>    
    @if($errors->has('nombre_pila'))
        {{$errors->first('nombre_pila')}}
    @endif
    </div><!-- ----------fin nombre de pila ------------ -->

    <div class="form-group @if ($errors->has('ap_paterno')) has-error @endif"><!--apellido paterno-->
        <label for="ap_paterno" class="col-sm-2 control-label">Apellido paterno:</label>
        <div class="col-sm-6">
            <input type="text" class="form-control" id="ap_paterno" name="ap_paterno" maxlength="45" value="@if(isset($ap_paterno)){{$ap_paterno}} @endif">
        </div>
    @if($errors->has('ap_paterno'))
        {{$errors->first('ap_paterno')}}
    @endif    
    </div><!-- ----------fin de apellido paterno ------------ -->

我正在使用 bootstrap 3 表单(我不知道这是否与问题有关)

这可能是我应该使用类似rtrim() 函数的东西。但如果有人能解释我为什么会发生这种情况或我想做什么,我会很感激的。

【问题讨论】:

  • 可能是视图中@endifs 前面的空格
  • @lukasgeiter 是啊!!!成功了!
  • 没问题 pathros ;)
  • 我现在回答了这个问题,所以很明显问题已经解决了
  • 好的,@lukasgeiter !!!谢谢!!!

标签: php forms twitter-bootstrap laravel laravel-4


【解决方案1】:

@endifs 之前有一个空格。要解决这个问题,要么做

value="@if(isset($ap_paterno)){{$ap_paterno}}@endif"

或者(我认为更好一点)

value="{{ (isset($ap_paterno) ? $ap_paterno : '') }}"

【讨论】:

  • 当我想检查 Input:old: @if(Input::old('ap_paterno')){{e(Input::old('ap_paterno'))}}@elseif(isset($ap_paterno)){{$ap_paterno}}@endif 时,你会如何缩短以下内容?
  • 这是最短的:{{ (Input::old('ap_paterno') ? e(Input::old('ap_paterno')) : (isset($ap_paterno) ? $ap_paterno : '')) }} 我认为这和你的长度差不多
猜你喜欢
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多