2016-06-21 3 views
0

ODOO v8에서 템플릿과 컨트롤러를 만들었습니다. 템플릿은 다음과 같습니다.ODOO 웹 사이트에서 유효성 검사가 작동하지 않음

<template id="myTemplate"> 
    <t t-call="myTemplateHeader"/> 
    <div class="myClass"> 
     <form action="/myControllerAction" name="myTemplateForm"> 
      <input type="text" id="name" name="name"/> 
      <input type="text" id="lname" name="lname"/> 
      <input type="text" id="email" name="email"/> 
      <input type="submit" value="Submit"/> 
     </form> 
    </div> 
</template> 

/myControllerAction 컨트롤러를 작성했습니다.

@http.route(['/myControllerAction'], type='http', auth="public", website=True) 
def index(self, **post): 
    data = {} 
    # some action here 
    # to submit and fetch values 
    request.website.render("my_module.mySecondTemplate", data) 

제공된 모든 텍스트 필드에 값을 입력하지 않고 양식을 제출할 수 없도록 양식의 필드에 유효성을 추가했습니다. JS의 유효성 검사는 텍스트 필드가 비어있는 경우 경고 메시지를 표시합니다 (각 텍스트 필드에 대해 하나의 경고). 그러나 email 필드의 경고 메시지에 대해 OK을 클릭하면 필드가 비어있는 경우에도 양식이 전송됩니다. 나는이 문제를 확인하고 문제가 내가

<input type="submit" value="Submit"/> 

을 제공하고, 내가

<input type="button" value="Submit"/> 

을 사용하고있는 경우가 해결 될 경우에만 존재 함을 발견하지만 컨트롤러와 필요에 약간의 계산을해야 한 데이터베이스에서 일부 데이터를 검색하여 다음 페이지에 표시합니다. 이를 위해 type="button"은 양식으로 submit 그대로 사용할 수 없으며 컨트롤러 기능을 호출하지 않고 다음 페이지로 리디렉션됩니다. type="submit"이 컨트롤러에 전화를 걸지만 이전에 설명한대로 유효성 검사가 작동하지 않습니다. 또한 form을 제출하면 자바 스크립트에서 버튼의 onclick 이벤트가 컨트롤러를 호출하지 않습니다. 양식에 대한 유효성을 확인한 다음 컨트롤러 (제출시)를 호출합니다. ODOO v8에서 이것을 구현할 수있는 방법이 있습니까?

답변

0

ODOO 템플릿에 필드를 필수로 설정하려면 입력 필드에 required="required" 속성을 사용할 수 있습니다.

<input type="text" id="name" name="name" required="required"/>