2016-06-21 69 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在JavaScript中的按鈕事件不會調用控制器。我想在表單上進行驗證,然後調用控制器(在提交時)。有沒有什麼辦法可以在ODOO v8中實現這一點?

回答

0

要使ODOO模板中爲必填字段,可以在輸入字段上使用屬性required="required"

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