2017-06-17 88 views
0

如何在laravel中创建独特的slu and并验证它们?如何验证laravel中的slu 5.4 5.4.24

这里是我的验证代码:

$this->validate($request,[ 
     'company_name' => 'required|unique:admin_users,company_name,slug|max:191', 
    ]); 

这里是我的蛞蝓代码:

$db_filed->company_name = str_slug($request->company_name, '-'); 

感谢。

回答

1

我想这样,现在是工作,

这里是代码的形式:

<div class="form-group"> 
    <input type="text" class="form-control" placeholder="Company Name" name="company_name" value="{{ ucwords(str_replace('-',' ',old('company_name'))) }}" required> 
</div> 

这里是控制器代码:

public function store(Request $request) 
{ 
    $request['company_name'] = str_slug($request->company_name, '-'); 

    $this->validate($request,[ 
     'company_name' => "required|unique:admin_users,company_name|max:191", 
    ]); 
    $db_filed = new AdminUser; 
    $db_filed->company_name = $request->company_name; 

    $db_filed->save(); 
} 
2

设置一个FormRequest做验证为了这样的规则的路线:

https://laravel.com/docs/5.4/validation#form-request-validation

public function rules() 
{ 
    return [ 
     'company_name' => 'required|unique:admin_users,company_name,slug|max:191' 
    ]; 
} 

,或者您需要将其分配给公司的名称之前创建蛞蝓。

https://laravel.com/docs/5.4/validation#manually-creating-validators

$slug = str_slug($request->company_name, '-'); 

$validator = Validator::make(['company_name' => $slug], [ 
    'company_name' => 'required|unique:admin_users,company_name,slug|max:191' 
]); 

if (!$validator->fails()) { 
    $db_filed->company_name = $slug; 
    $db_filled->save(); 
} 
+0

嗨BTL, 感谢您宝贵的回复中。我正在尝试这种方式,但它没有奏效。但其他领域是工作,如电子邮件和电话那些领域是验证和检查独特的领域。我不明白为什么slug验证不起作用... –

+0

你能举一个真实的输入数据的例子,通过一个公司名称失败的例子吗? – btl

+0

这里是窗体:https://prnt.sc/fkspf6 这里是控制器:https://prnt.sc/fkspn6 我试过这两种方式,然后我撤消这些,这是我的旧代码之前尝试。 –

0

你可以创建你的控制器内塞可能是存储功能这样

public function store(CompanyNameRequest $request) 
{ 
    $slug = uniqid(); 
    $ticket = new CompaanyName(array(
     'title' => $request->get('title'), 
     'content' => $request->get('content'), 
     'slug' => $slug 
    )); 

    $ticket->save(); 

    return redirect('/contact')->with('status', 'Your order is been proccess! Its unique id is: '.$slug); 

}