2013-07-24 4 views
1

CakePHP의 데이터베이스 제약 조건에서 모델의 유효성 검사 규칙을 자동으로 생성하는 쉬운 솔루션을 찾고 있습니다. 왜냐하면 저는 케이크 굽기로 모든 것을 직접 만들고 싶지 않기 때문입니다. 그래서 예. 데이터베이스의 필드에 NOT NULL 제약 조건이있는 경우 필드에 "비어 있지 않은"유효성 검사 규칙을 만들어야합니다.MySQL 데이터베이스 제약에서 Cakephp 자동 검증 생성

이런 종류의 작업을 수행 할 수있는 도구가 있습니까?

답변

3

CakePHP는 기본적으로이 기능을 지원하지 않지만 나는 그 아이디어를 좋아합니다. AppModel을 :: beforeValidate() 콜백에 코드를 추가

하지만 에 의해 오버로드 AppModel이 :: __ 구조를 그 구현할 수() 은 스키마를 통해 모델에서 사용하는 테이블과 루프 CakeSchema을 사용하여 스키마를로드 즉석에서 규칙을 반환하고 빌드하고 $ this-> validate로 설정합니다.

특정 모델을 원하지 않으면 boolean autoValidationRules와 같은 다른 속성을 추가 할 수 있습니다. 또한 notEmpty가 아직 설정되지 않았는지 확인하고 필요에 따라 자동으로 덮어 쓰거나 병합하지 마십시오.

편집 :이 동작을 시도하십시오., 나는 아이디어를 좋아하기 때문에 이것을 함께 해킹했습니다. 오늘 밤 나중에 단위 테스트를 추가하려고합니다.

https://github.com/burzum/BzUtils/blob/develop/Model/Behavior/AutoValidateBehavior.php

+1

beforeValidate가 더 나은 제안이거나 beforeValidate를 구현하는 동작 일 수 있습니다. 그렇게해야 할 때까지 아무 것도하지 마십시오. +1. – AD7six

+0

사실, 내가 이것을 읽을 때 어떤 이유로 생성자가 내게 와서 제일 먼저 나왔다. – burzum

0

는 사실이없는 기본 제공이에 대한 CakePHP의의 기능입니다.

그렇지 않으면 콘솔을 사용하지 않으려는 경우 모델, 관계 및 유효성 검사 규칙을 응용 프로그램을 디자인 할 수있는 온라인 도구를 사용하여 열에 올바른 제약 조건이있는 SQL 파일을 자동으로 생성 할 수 있습니다 필드, 컨트롤러 및 뷰에 대한 해당 유효성 검사 규칙이있는 모델 : Online Cake Bake.

당신이 원하는 것을 정확하게 할 수는 없지만, 데이터베이스의 제약 조건과 유효성 검사 규칙을 동시에 설계하면 많은 시간을 절약 할 수 있습니다.

관련 문제