Rules là 1 phần quan trọng của models, là nơi mà bạn thực hiện các phép logic,kết nối đến database .Hôm nay mình sẽ hướng dẫn các bạn cách chỉnh sửa và thêm các quyền mà bạn nghĩ ra cần thực hiện .Ở phần này chúng ta sẽ đi tìm hiểu các vấn đề :

  1. Rules là gì ,Nằm ở đâu ,tác dụng của rules
  2. Kiến thức cần có
  3. Cách custom rules trong thực tế

Rules là gì ,Nằm ở đâu ,tác dụng của rules

Rules là bộ các quy tắc mà dữ liệu nhập vào phải đáp ứng nó thì mới được thực hiện .

Vị trí thường nằm của rules là nằm sau các function behaviors() và tableName() .

Các quy tắc thường có trong rules() đó là định dạng kiểu dữ liệu như string,interger ,required,

Kiến thức cần có

  1. Controller với bài viết :http://hbsprogram.com/controllers-trong-yii2/
  2. Models với bài viết :http://hbsprogram.com/models-trong-yii2/

Cách custom rules trong thực tế

Hôm nay mình sẽ hướng dẫn các bạn cách custom trong thực tế với demo là bảng dữ liệu status với mục đích ko đăng 2 status giống nhau .

Link demo : http://demo.hbsprogram.com/status

Sql cơ sở dữ liệu :

Bạn tạo cơ sở dữ liệu như trên tiếp theo đến phần models .Phần này là mục đích chính của bài viết này .

Các bạn chú ý 2 điểm đặc biệt ở đây . 1 là ở phần rules 2 là đoạn public function validateStatus().

Đoạn rules() bạn cần thêm :

Mục đích là xác định status phải thỏa mãn các yêu cầu cuả function validateStatus() .

Và ở phần function validateStatus() bạn custom các yêu cầu của mình .Ở ví dụ này mình yêu cầu là ko có 2 status giống nhau :

Mình truy vấn dữ liệu với điều kiện là status giống với dữ liệu nhập vào .Nếu trùng thì hiện ra thông báo đã tồn tại

Còn phần views và controller không có gì đặc biệt cả .Bạn có thể nom và thử demo ở link sau :http://demo.hbsprogram.com/status .

Controller mình coder như sau :

Còn phần view các bạn tự viết hoặc liên hệ mình nhé .

Phần này mình cảm thấy rất hay vì nó sẽ làm bạn biết cách tạo 1 rules() phục vụ việc coder của mình.Custom lại những quy định mà database cơ bản không thể diễn tả được ý nghĩa của rules đó .

Các bạn có gì thắc mắc hãy để lại comment để chúng ta cùng nhau tìm hiểu .Nếu thấy bài viết hay và có ý nghĩa hãy chia sẻ nó đến với bạn bè bạn nhé .Thân

 

Leave a Reply

Your email address will not be published. Required fields are marked *