मैं प्ले की एसिंक शक्तियों को समझने के लिए एक वास्तविक धक्का दे रहा हूं लेकिन उन स्थानों के संबंध में बहुत सारे संघर्ष ढूंढ रहा हूं जहां एसिंक इनवोकेशन फिट बैठता है और स्थान जहां ढांचे के उपयोग के खिलाफ षड्यंत्र लगता है।क्या मैं प्ले फ्रेमवर्क 2.x (स्कैला) में एसिंक फॉर्म सत्यापन कर सकता हूं?
उदाहरण मैंने फॉर्म सत्यापन से संबंधित है। प्ले से परिभाषित करने की तदर्थ बाधाओं के लिए अनुमति देता है - डॉक्स से देखें:
val loginForm = Form(
tuple(
"email" -> email,
"password" -> text
) verifying("Invalid user name or password", fields => fields match {
case (e, p) => User.authenticate(e,p).isDefined
})
)
अच्छा और साफ। हालांकि, अगर मैं पूरी तरह से एसिंक डेटा एक्सेस लेयर (उदाहरण के लिए रीएक्टिवमोन्गो) का उपयोग कर रहा हूं, तो User.authenticate(...)
पर ऐसी कॉल Future
लौटाएगी और मैं इस प्रकार अंधेरे में हूं कि मैं कैसे निर्मित फॉर्म बाध्यकारी की शक्ति का उपयोग कर सकता हूं विशेषताएं और async उपकरण।
एसिंक दृष्टिकोण को प्रचारित करना अच्छा और अच्छा है, लेकिन मैं निराश हो रहा हूं कि ढांचे के कुछ हिस्सों में इसके साथ बहुत अच्छा खेल नहीं है। अगर सत्यापन को समकालिक रूप से किया जाना है, तो यह एसिंक दृष्टिकोण के बिंदु को हराने के लिए प्रतीत होता है। Action
संरचना का उपयोग करते समय मुझे एक ही समस्या आई है - उदा। एक सुरक्षा संबंधित Action
जो ReactiveMongo को कॉल करेगी।
क्या कोई मेरी रोशनी कम होने पर कोई प्रकाश डाल सकता है?
मैं कैसे मान्यता संदेश dynamicly निर्धारित कर सकते हैं:
से निकाले गए? उदाहरण के लिए संदेश "अवैध उपयोगकर्ता नाम या पासवर्ड" या "सेवा अनुपलब्ध" हो सकता है। और दूसरा सवाल यह है कि क्या मैं उपयोगकर्ता ऑब्जेक्ट को डुप्लिकेट ऑथ-अनुरोध के बिना क्रिया में प्राप्त कर सकता हूं? – Artem