मैं कुछ समय से इस के साथ संघर्ष कर रहा हूं; चलो देखते हैं कि कोई मेरी मदद कर सकता है या नहीं।एम्बर-डेटा सत्यापन के लिए मानक पैटर्न क्या है? (अमान्य स्थिति, बन गया अविश्वसनीय ...)
हालांकि इसे रीडेमे में स्पष्ट रूप से नहीं कहा गया है, एम्बर-डेटा कुछ हद तक सत्यापन प्रदान करता है। आप देख सकते हैं कोड के कुछ भागों और प्रलेखन पर कि:
https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L411
https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L529
बाकी एडाप्टर सत्यापन पर ही समर्थन नहीं जोड़ता है, लेकिन मुझे पता चला है कि अगर मैं कुछ इस तरह जोड़ने
error: function(xhr){
var data = Ember.$.parseJSON(xhr.responseText);
store.recordWasInvalid(record, data.errors);
}
तो मैं आसानी से निम्नलिखित कर सकते हैं: ajax कॉल में, मैं त्रुटियों वस्तु के साथ एक "अवैध" राज्य है कि सर्वर साइड से आया है पर मॉडल रख सकते हैं
012,var transaction = App.store.transaction();
var record = transaction.createRecord(App.Post);
record.set('someProperty', 'invalid value');
transaction.commit()
// This makes the validation fail
record.set('someProperty', 'a valid value');
transaction.commit();
// This doesn't trigger the commit again.
बात है: जैसा कि आप देख, लेनदेन recommit की कोशिश न करें। यह here और here समझाया गया है।
तो बात यह है कि: यदि मैं किसी प्रतिबद्धता का पुन: उपयोग नहीं कर सकता, तो मुझे इसे कैसे संभालना चाहिए? मुझे थोड़े संदेह है कि इस तथ्य के साथ कुछ करने के लिए मैं अजीब तरीके से मॉडल को invalid
स्थिति में डाल रहा हूं - reading the documentation द्वारा, ऐसा लगता है कि क्लाइंट-साइड सत्यापन के लिए कुछ ऐसा है। इस मामले में, मुझे उनका उपयोग कैसे करना चाहिए?
नहीं इस समस्याग्रस्त हो सकता है? –