CodeIgniter-양식 유효성 검사
유효성 검사는 웹 애플리케이션을 구축하는 동안 중요한 프로세스입니다. 그것은 우리가 얻는 데이터가 저장 또는 처리하기에 적절하고 유효한지 확인합니다. CodeIgniter는이 작업을 매우 쉽게 만들었습니다. 간단한 예를 들어이 과정을 이해합시다.
예
보기 파일 만들기 myform.php 아래 코드를 저장하십시오. application/views/myform.php. 이 페이지에는 사용자가 자신의 이름을 제출할 수있는 양식이 표시되며 제출하는 동안 비어 있지 않은지 확인하기 위해이 페이지의 유효성을 검사합니다.
<html>
<head>
<title>My Form</title>
</head>
<body>
<form action = "" method = "">
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h5>Name</h5>
<input type = "text" name = "name" value = "" size = "50" />
<div><input type = "submit" value = "Submit" /></div>
</form>
</body>
</html>
보기 파일 만들기 formsuccess.php 그리고 그것을 저장하십시오 application/views/formsuccess.php. 양식이 성공적으로 검증되면이 페이지가 표시됩니다.
<html>
<head>
<title>My Form</title>
</head>
<body>
<h3>Your form was successfully submitted!</h3>
<p><?php echo anchor('form', 'Try it again!'); ?></p>
</body>
</html>
컨트롤러 파일 만들기 Form.php 그리고 그것을 저장하십시오 application/controller/Form.php. 이 양식은 제대로 확인되지 않거나 리디렉션되지 않은 경우 오류를 표시합니다.formsuccess.php 페이지.
<?php
class Form extends CI_Controller {
public function index() {
/* Load form helper */
$this->load->helper(array('form'));
/* Load form validation library */
$this->load->library('form_validation');
/* Set validation rule for name field in the form */
$this->form_validation->set_rules('name', 'Name', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
}
else {
$this->load->view('formsuccess');
}
}
}
?>
다음 줄을 추가하십시오. application/config/routes.php.
$route['validation'] = 'Form';
브라우저에서 다음 URL을 방문하여이 예제를 실행 해 보겠습니다. 이 URL은 사이트에 따라 다를 수 있습니다.
http://yoursite.com/index.php/validation
다음 화면이 생성됩니다-
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/validation_form.jpg)
컨트롤러에 유효성 검사를 추가했습니다. Name양식을 제출하기 전에 필수 필드입니다. 따라서 이름 필드에 아무것도 입력하지 않고 제출 버튼을 클릭하면 아래 화면과 같이 제출하기 전에 이름을 입력하라는 메시지가 표시됩니다.
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/not_validated.jpg)
이름을 성공적으로 입력하면 아래와 같은 화면으로 이동합니다.
![](https://post.nghiatu.com/assets/tutorial/codeigniter/images/validated_successfully.jpg)
위의 예에서는 필수 규칙 설정을 사용했습니다. CodeIgniter에는 아래에 설명 된 많은 규칙이 있습니다.
유효성 검사 규칙 참조
다음은 사용할 수있는 모든 기본 규칙의 목록입니다.
규칙 | 매개 변수 | 기술 | 예 |
---|---|---|---|
required |
아니 | 양식 요소가 비어 있으면 FALSE를 반환합니다. | |
matches |
예 | 양식 요소가 매개 변수의 요소와 일치하지 않으면 FALSE를 리턴합니다. | 일치 [form_item] |
regex_match |
예 | 양식 요소가 정규식과 일치하지 않으면 FALSE를 반환합니다. | 정규식 일치 [/ 정규식 /] |
differs |
예 | 양식 요소가 매개 변수의 요소와 다르지 않으면 FALSE를 리턴합니다. | 다름 [form_item] |
is_unique |
예 | 양식 요소가 매개 변수의 테이블 및 필드 이름에 고유하지 않은 경우 FALSE를 리턴합니다. 참조 :이 규칙이 작동하려면 Query Builder 를 활성화해야합니다. | is_unique [table.field] |
min_length |
예 | 양식 요소가 매개 변수 값보다 짧은 경우 FALSE를 리턴합니다. | min_length [3] |
max_length |
예 | 양식 요소가 매개 변수 값보다 길면 FALSE를 리턴합니다. | 최대 길이 [12] |
exact_length |
예 | 양식 요소가 정확히 매개 변수 값이 아닌 경우 FALSE를 반환합니다. | 정확한 _ 길이 [8] |
greater_than |
예 | 양식 요소가 매개 변수 값보다 작거나 같거나 숫자가 아닌 경우 FALSE를 리턴합니다. | 보다 큼 [8] |
greater_than_equal_to |
예 | 양식 요소가 매개 변수 값보다 작거나 숫자가 아닌 경우 FALSE를 리턴합니다. | greater_than_equal_to [8] |
less_than |
예 | 양식 요소가 매개 변수 값보다 크거나 같거나 숫자가 아닌 경우 FALSE를 리턴합니다. | less_than [8] |
less_than_equal_to |
예 | 양식 요소가 매개 변수 값보다 크거나 숫자가 아닌 경우 FALSE를 리턴합니다. | less_than_equal_to [8] |
in_list |
예 | 양식 요소가 미리 결정된 목록에 없으면 FALSE를 반환합니다. | in_list [빨간색, 파란색, 녹색] |
alpha |
아니 | 양식 요소에 알파벳 문자 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
alpha_numeric |
아니 | 양식 요소에 영숫자 이외의 문자가 포함 된 경우 FALSE를 반환합니다. | |
alpha_numeric_spaces |
아니 | 양식 요소에 영숫자 문자 또는 공백 이외의 내용이 포함 된 경우 FALSE를 반환합니다. 시작 또는 끝에 공백을 피하기 위해 트림 후 사용해야합니다. | |
alpha_dash |
아니 | 양식 요소에 영숫자 문자, 밑줄 또는 대시 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
numeric |
아니 | 양식 요소에 숫자 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
integer |
아니 | 양식 요소에 정수 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
decimal |
아니 | 양식 요소에 10 진수 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
is_natural |
아니 | 양식 요소에 0, 1, 2, 3 등의 자연수 이외의 것이 포함되어 있으면 FALSE를 반환합니다. | |
is_natural_no_zero |
아니 | 양식 요소에 자연수 이외의 것이 포함되어 있지만 0-1, 2, 3 등이 포함되지 않은 경우 FALSE를 반환합니다. | |
valid_url |
아니 | 양식 요소에 유효한 URL이 포함되지 않은 경우 FALSE를 반환합니다. | |
valid_email |
아니 | 양식 요소에 유효한 이메일 주소가 포함되어 있지 않으면 FALSE를 반환합니다. | |
valid_emails |
아니 | 쉼표로 구분 된 목록에 제공된 값이 유효한 이메일이 아닌 경우 FALSE를 반환합니다. | |
valid_ip |
아니 | 제공된 IP가 유효하지 않으면 FALSE를 반환합니다. IP 형식을 지정하기 위해 'ipv4'또는 'ipv6'의 선택적 매개 변수를 허용합니다. | |
valid_base64 |
아니 | 제공된 문자열에 유효한 Base64 문자가 아닌 다른 문자가 포함 된 경우 FALSE를 반환합니다. |