2010-11-09 20 views
6

Webflow, belirli bir ifadeyi <on-entry> öğesi aracılığıyla bir akışta yürütmenize olanak tanır.İlkbahar Web Akışı'nda doğrulamadan önceki yöntemlerin değerlendirilmesi

Bununla birlikte, web akışının sayfayı doğrulamadan ÖNCE bir ifadeyi bir şekilde değerlendirmek mümkün müdür?

<view-state id="enterBookingDetails" model="booking"> 
    <transition on="proceed" to="reviewBooking"> 
</view-state> 

public class Booking { 
    private Date checkinDate; 
    private Date checkoutDate; 
    ... 

    public void validateEnterBookingDetails(ValidationContext context) { 
     // do whatever you want to do before attemting validation 
     ... 

     // now do validation 
     ... 
    } 
} 

cevap

3

Bir hile bu (referans kılavuzundan örnek) gibi doğrulama yönteminin başında bir şeyler gerekli mantığı eklemektir validationtor'a geçirilen validationContext dışında herhangi bir bilgi yoktur. Eğer akışından diğer bilgileri gerekiyorsa, el doğrulama tetiklemek için deneyebilirsiniz:

<transition on="submit" to="isValid" validate="false"> 
    <evaluate expression="someLogicIWantToDo(a,b,c)" /> 
    <evaluate expression="booking.validate(bookingForm, messageContext)"/> 
</transition> 

<decision-state id="isValid"> 
    <if test="messageContext.hasErrorMessages()" then="home" else="page2"/> 
</decision-state> 

Web akış yöntemleri, bir MessageContext veya ValidationContext ya alabilir doğrulamak. Doğrulama yöntemlerini validationContext alırsanız, el ile tetiklemek için Web Akışından validationContext'e nasıl erişileceğinden emin değilim.

+1

Web akışı tarafından kilitlenen validate yönteminin yöntem imzası değil midir? Geçecek başka verilere ihtiyacınız varsa ne olur? –

+0

Bu yaklaşımda tasarım, doğrulama ve ticari işlemlerin iyi karıştırılması olmaz – abhi

1

klr8 yanıt ile sorun yapmanız olmalarıdır: kullanabiliriz

İlgili konular