2013-07-22 3 views
3

각도 js와 cake php를 사용하여 간단한 송장 모듈을 구축 중입니다.각도 JS로 CakePHP 폼 유효성 검사 사용

필드가 NG를 사용하여 반복되는 항목 - 결국 적절한 태그를 닫기

<div ng:controller="ItemsCtrl" ng:app> 
<div class="row-fluid items" > 
    <hr> 
    <ul class="invoice_items" ng:init="invoice={items:[{serial:'',details:'',qty:0,unit:'',rate:0,discount:0,amount:0}],pf:0}"> 
    <li ng:repeat="item in invoice.items"> 
    <div class="clear"></div> 
    <div id="items_row"> 
     <div class="field span1"> 
          <?php 
         echo $this->TwitterBootstrap->input("Number", array(
          "input" => $this->Form->text("Item.{{\$index}}.serial" , array('class' => 'serial span1' ,'placeholder' => 'S.No' , 'ng-model' => 'item.serial' , 'value' => '{{ $index + 1 }}' , 'readonly' => 'readonly')) 
         )); ?> 
     </div> 

아래와 같이 내보기에 반복

I가 검증을 위해 내 모델에 다음 코드 -

public $validate = array(
    'id' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
    ), 
    'serial' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
    ), 
    'details' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
    ), 
    'quantity' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
     'naturalnumber' => array(
      'rule' => array('naturalnumber'), 
      'message' => 'Please enter a valid quantity' 

     ), 
    ), 
    'rate' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
     'numeric' => array(
      'rule' => array('numeric'), 

     ), 
    ), 
    'discount' => array(
     'numeric' => array(
      'rule' => array('numeric'), 

     ), 
    ), 
    'amount' => array(
     'notempty' => array(
      'rule' => array('notempty'), 

     ), 
     'numeric' => array(
      'rule' => array('numeric'), 

     ), 
    ), 
); 

문제는 필요에 따라 NG 반복 지침의 외부에있는 필드의 유효성을 검사받을 것입니다 만, 내부의 필드 이후 ng-repeat는 각 페이지로드에서 초기화되고, cakephp 유효성 검증은 적용되지 않습니다.

혹시이 문제가 발생합니까? 내 전체 아키텍처 접근 방식이 잘못되었을 수 있습니까?

답변

1

문제를 해결하는 방법을 변경해야한다고 생각합니다.

CakePHP를 사용하여 프론트 엔드에 대한 REST API 및 AngularJS를 만듭니다. 훨씬 쉬울 것입니다 (나중에 스택을 마이그레이션하려는 경우 Dart 또는 NodeJS).

당신은 읽을 수 있습니다

https://github.com/hantsy/angularjs-cakephp-sample 그것이 도움이되기를 바랍니다.

+0

아, 너무 나쁨. 질문 날짜를 확인하지 않았습니다. – strxfrm