novalidate 속성은 폼 제출 시 유효성 검사를 무효화 시키고자 할 때 유용합니다.


이 속성은 유효성 검사를 해야 하는 폼에서 폼 요소를 전송시킬 때 필드의 값들의 입력여부를 검증하지 않고, 전송시킬 수 있습니다.


아래 예제에서 required 속성은 필수 항목으로 지정하였는데, novalidate 를 전체에 지정했기 때문에 핑수항목을 지정한 모든 필드를 무효화시켜 버릴 것입니다.


ex.1)

<form action="form.php" method="post" novalidate>
E-mail: <input type="email" name="email" required />
Password: <input type="password" name="pass" required/>
<input type="submit" name="전송" value="전송"/>
</form>




아래 배열의 형태라면 트리형태로 출력하고자 할 때 유용합니다.
특히 답글 형태 게시판에서 사용할 수 있습니다.


 $list = array(

  array('idx' => 1,  'parent_id' => 0),

  array('idx' => 2,  'parent_id' => 0),

  array('idx' => 3,  'parent_id' => 0),

  array('idx' => 4,  'parent_id' => 0),

  array('idx' => 5,  'parent_id' => 0),

  array('idx' => 6,  'parent_id' => 2),

  array('idx' => 7,  'parent_id' => 2),

  array('idx' => 8,  'parent_id' => 3),

  array('idx' => 9,  'parent_id' => 4),

  array('idx' => 10, 'parent_id' => 9)

 );

 $atr = Categories($list, 'idx');

 print_r($atr);


ex.1)

function Categories(
$atr, $id = 'id', 
$parent_id = 'parent_id', 
$children = 'children')
{
  $nlist = array(
    array( $children => array() )
  );
  $raw = array(&$nlist[0]);

  if(isset($atr))
  {
    foreach($atr as $q => $w)
    {
      $raw[$w[$parent_id]][$children][$w[$id]] = $w;
      $raw[$w[$id]] = 
          &$raw[$w[$parent_id]][$children][$w[$id]];
    }
  }

  if(is_array($raw[$atr[0][$parent_id]][$children]))
  {
    return ($raw[$atr[0][$parent_id]][$children]
           + $nlist[0][$children]);
  }

return $nlist[0][$children];
}

/* 
Categories( atr, id, parent_id);
  atr 인수: 정렬할 배열
  id 인수: 선택. 기본 값 : id
  parent_id 인수: 선택. 기본 값 : parent_id
  children 인수: 선택. 기본 값 : children
  반환 값: TREE 로 정렬한 배열
*/