如何设置一列不能为空字符串?拉拉韦尔

月光

我想禁止在数据库中保存空用户,并使用空字符串名称,电子邮件,电话。我想测试一下。

我的迁移

public function up()
{
    Schema::create('user1s', function (Blueprint $table) {
        $table->increments('id');
        $table->string("name");
        $table->string("email");
        $table->string("phone_number");
        $table->timestamps();
    });
}

页面控制器

public function store(Request $request)
{       
        $this->validate($request , [
            'name' =>'required' ,
            'email' =>'required' ,
            'phone_number' =>'required' ,   
            ]);

        $user= new User1;
        $user->name = $request->name;
        $user->email =  $request->email;
        $user->phone_number =  $request->phone_number;

        $user->save();

    return redirect('/thankyou');

}

当我想用该测试进行测试时,它将一个空用户保存在数据库中并返回错误……true为false

public function testnonEmptyInput(){

    $user1=New User1;
    $user1->name="";
    $user1->email="";
    $user1->phone_number="";

    $this->assertFalse($user1->save());
}
拉胡尔·戈文德(Rahul Govind)

您不能为字符串设置最小长度约束(在MySQL中至少是这样)。

在这里,您可以使用诸如此类的方法通过验证期间的约束来实现最小长度约束。

 $this->validate($request , [
            'name' =>'required|min:1' ,
            'email' =>'required' ,
            'phone_number' =>'required' ,   
            ]);

如果您坚持甚至无法使用空字符串保存模型,则可以通过模型事件-https: //laravel.com/docs/5.0/eloquent#model-events来实现

要添加约束,可以将以下代码添加到User1.php,

protected static function boot()
{
    parent::boot();

    static::saving(function($u) {
      if(empty($u->name)) {
        return false;
      }
    });
}

(我仅实现了对非空名称的约束。您可以推断出相同的约束,以实现对电子邮件地址和电话号码的约束。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定data.table的每一列中包含空字符串(“”)的行数?

来自分类Dev

拉拉韦尔的关系

来自分类Dev

将包含空字符串的列合并为python pandas中的一列

来自分类Dev

sunGrid群集:qsub错误“无法运行作业:主机名不能为空字符串”

来自分类Dev

资源ID不能为空字符串(在'id'处,值为'@ + id /“)

来自分类Dev

在另一列包含指定字符串的情况下如何设置NA?

来自分类Dev

数据检索从一对多。拉拉韦尔

来自分类Dev

如何使用$ _SERVER ['HTTP_REFERER']; 在拉拉韦尔?

来自分类Dev

无法在另一台PC上构建我的android studio项目,gradle说“原因:path不能为null或为空字符串。path ='null'”

来自分类Dev

如何为长时间运行的作业设置自定义retry_after | 拉拉韦尔

来自分类Dev

ValueError:数据不能为字符串

来自分类Dev

哪个`[`不能比较空字符串?

来自分类Dev

哪个`[`不能比较空字符串?

来自分类Dev

如何从R中另一列的子字符串中创建一列?

来自分类Dev

如何在包含特定字符串的最后一列之后添加一列?

来自分类Dev

如何创建一列字符串,包括另一列的值

来自分类Dev

如何用文件的一列中的一列替换复杂的字符串?

来自分类Dev

如何在一列的开头和另一列的末尾添加字符串?

来自分类Dev

如何用另一列中的字符串替换一列中的值?

来自分类Dev

如何确定一列中的字符串是否在另一列中?

来自分类Dev

Excel:如何从另一列中的一列搜索子字符串

来自分类Dev

AngularJs,如何在URL中设置空字符串

来自分类Dev

AngularJs,如何在URL中设置空字符串

来自分类Dev

传递空值时如何设置空字符串

来自分类Dev

拉拉韦尔倒计时

来自分类Dev

对口才的原始查询。拉拉韦尔

来自分类Dev

拉拉韦尔(Laravel)的外立面太多

来自分类Dev

多对多关系查询。拉拉韦尔

来自分类Dev

在拉拉韦尔获得大量游客

Related 相关文章

  1. 1

    如何确定data.table的每一列中包含空字符串(“”)的行数?

  2. 2

    拉拉韦尔的关系

  3. 3

    将包含空字符串的列合并为python pandas中的一列

  4. 4

    sunGrid群集:qsub错误“无法运行作业:主机名不能为空字符串”

  5. 5

    资源ID不能为空字符串(在'id'处,值为'@ + id /“)

  6. 6

    在另一列包含指定字符串的情况下如何设置NA?

  7. 7

    数据检索从一对多。拉拉韦尔

  8. 8

    如何使用$ _SERVER ['HTTP_REFERER']; 在拉拉韦尔?

  9. 9

    无法在另一台PC上构建我的android studio项目,gradle说“原因:path不能为null或为空字符串。path ='null'”

  10. 10

    如何为长时间运行的作业设置自定义retry_after | 拉拉韦尔

  11. 11

    ValueError:数据不能为字符串

  12. 12

    哪个`[`不能比较空字符串?

  13. 13

    哪个`[`不能比较空字符串?

  14. 14

    如何从R中另一列的子字符串中创建一列?

  15. 15

    如何在包含特定字符串的最后一列之后添加一列?

  16. 16

    如何创建一列字符串,包括另一列的值

  17. 17

    如何用文件的一列中的一列替换复杂的字符串?

  18. 18

    如何在一列的开头和另一列的末尾添加字符串?

  19. 19

    如何用另一列中的字符串替换一列中的值?

  20. 20

    如何确定一列中的字符串是否在另一列中?

  21. 21

    Excel:如何从另一列中的一列搜索子字符串

  22. 22

    AngularJs,如何在URL中设置空字符串

  23. 23

    AngularJs,如何在URL中设置空字符串

  24. 24

    传递空值时如何设置空字符串

  25. 25

    拉拉韦尔倒计时

  26. 26

    对口才的原始查询。拉拉韦尔

  27. 27

    拉拉韦尔(Laravel)的外立面太多

  28. 28

    多对多关系查询。拉拉韦尔

  29. 29

    在拉拉韦尔获得大量游客

热门标签

归档