2016-11-23 3 views
0

Фактически, я бы опубликовал после обработки формы, например, обработал информацию и вернул флеш без обновления страницы с новой информацией в случае сбоя. Если форма действительна, я ссылаюсь, например, на другую страницу.PlayFramework - Показать сообщение без обновления страницы

Я поставил себя в Интернете совсем недавно. Я думаю, что обновление информации на странице без обновления страницы полностью будет полезно в будущем.

I have a video in order to illustrate what i'm saying.

Если у вас есть образец кода, я беру: D

код (опция для чтения):

Html:

@module.note.render(PanelType.DANGER, "contact") 
<form id="submit" class="submit-form" method="post" action="@routes.SupportController.postSupport()"> 

    <div class="row"> 
     <div class="col-md-6 col-sm-12"> 
      <label class="control-label">Votre nom</label> 
      <input type="text" class="form-control" name="lastName" placeholder=""> 
     </div> 
    ... 
    <div class="row"> 
     <div class="col-md-12 col-sm-12"> 
      <label class="control-label">Votre message</label> 
      <p> 
       <textarea id="content" name="content" placeholder="Ecrivez votre message ici"></textarea> 
       <script type="text/javascript"> 
         CKEDITOR.replace('content'); 
       </script> 
      </p> 
     </div> 
    </div> <!-- end row --> 

    <hr class="invis"> 

    <button type="submit" class="btn btn-primary">Envoyer !</button> 
</form> 

postSupport() функция:

Функция
@Http.Post 
    public Result postSupport() 
    { 
     DynamicForm d = form.form().bindFromRequest(); 
     FormChecker errors = new Support().getErrors(new FormValidator(d)); 
     List<String> check = errors.check(); 
     if(check != null && !check.isEmpty()) 
     { 
      flash("contact", check.get(0)); 
      return index(); 
     } 
     Support support = new Support(d.get("lastName"), d.get("email"), d.get("content"), d.get("subject"), d.get("website"), d.get("department")); 
     support.insert(); 
     return supportList(); 
    } 

getErrors():

@Override 
public FormChecker getErrors(FormValidator f) 
{ 
    return new FormChecker(f, 
      x -> x.validate("lastName", "content", "email", "subject", "website", "department"), 
      x -> x.isValidEmail("email"), 
       x -> x.isValidUrl("website"), 
      x -> x.isValidMinbLenght(5, "subject") 
       ? "" : "Le sujet doit avoir une longueur minimum de 5 caractères.", 
      x -> x.isValidMinbLenght(30, "content") 
       ? "" : "Le contenu du rapport doit faire minimum 30 caractères.", 
      x -> x.isValidMinbLenght(3, "lastName") 
       ? "" : "Votre nom doit avoir une longueur minimum de 5 caractères.", 
      x -> new SupportDepartment().get("department", x.get("department")) != null 
       ? "" : "Le département n'éxiste pas." 
    ); 
} 

Спасибо вам так много.

+0

Можете ли вы разместить свой javascript-код, чтобы отправить форму? –

+0

На данный момент я ничего не делаю для стороны javascript, juste html <-> PlayFramework. Я ищу образец кода, который работает с файловой средой :) –

ответ

0

Вы можете использовать функцию для проверки входов, а затем, если все в порядке, отправьте форму.

function check(){ 
    if(arguments are valid) sendResults(); 
    else showErrors; 
} 

Это поможет, если вы показали минимальную версию кода, например, какое действие вызывается при нажатии на кнопку.

+0

Я делаю проверку lamda, проверку подлинности электронной почты, минимальную проверку, но я не хочу проверки в javascript! Потому что у меня есть код для этого на стороне сервера. –

+0

Я отредактировал мой пост! :) –

+1

В этом случае, боюсь, я не могу вам помочь, извините. –

Смежные вопросы