2016-12-25 14 views
6

मैं कोणीय 2 में रूट पैराम को कैसे सत्यापित कर सकता हूं?कोणीय 2 रूट पैराम सत्यापन

{path: 'artist/:id', component: ArtistInfoComponent} 

सभी मैं चाहता हूँ पैरामीटर id कोई मान्य संख्या है और यदि ऐसा है तो, सिर्फ घटक दिखाने की जाँच करने के लिए है: उदाहरण के लिए, मैं एक मार्ग है। अन्यथा त्रुटि संदेश वाला एक पृष्ठ दिखाएं।

मुझे कोणीय 2 में रूट गार्ड मिले, लेकिन मुझे लगता है कि यह सत्यापन करने का सबसे अच्छा तरीका नहीं है क्योंकि मेरे पास अलग-अलग पृष्ठों के लिए कई अलग-अलग पैरा हैं और इन सभी पृष्ठों के लिए व्यक्तिगत मार्ग गार्ड लिखना मैं नहीं चाहता हूं।

क्या प्रत्येक मार्ग पैरामीटर के लिए रेगेक्स निर्दिष्ट करने की कोई संभावना है?

यूपीडी: शायद क्वेरी पैरा पर सत्यापन करने का कोई तरीका है? मेरा मतलब है कि मेरे पास ऐसा यूआरएल है: /search?q=blablabla&page=2 मैं कैसे जांच सकता हूं कि पैरामीटर page मान्य है या नहीं? गार्ड के बिना ऐसा करने का कोई तरीका है?

+0

यहां से बहुत मदद नहीं है, लेकिन एक त्वरित Google ने यह दिया: https://github.com/angular/angular/issues/12442 ऐसा लगता है कि अब (??) के लिए regex का उपयोग करने में सक्षम नहीं है जब तक कि आप कुछ नहीं पाते उस रहस्यमय 'urlMatcher' पर जानकारी का उल्लेख किया गया है। लेकिन जैसा कि कहा गया, मुझे नहीं पता, बस यह पृष्ठ मिला :) – Alex

उत्तर

2

गार्ड जाने का रास्ता हैं, आप मार्ग के data अनुभाग में सत्यापन कॉन्फ़िगरेशन डाल सकते हैं और इस कॉन्फ़िगरेशन के आधार पर पैरामीटर को सत्यापित करने के लिए पुन: प्रयोज्य गार्ड बना सकते हैं।

+0

अच्छा जवाब! धन्यवाद – Taras

+0

ठीक है, लेकिन हो सकता है कि क्वेरी पैरा पर सत्यापन करने का कोई तरीका हो? मेरा मतलब है कि मेरे पास ऐसा यूआरएल है: '/ search? Q = blablabla और page = 2' मैं कैसे जांच सकता हूं कि पैरामीटर 'पेज' मान्य है या नहीं? गार्ड के बिना ऐसा करने का कोई तरीका है? – Taras

+0

राउटर स्थान परिवर्तनों को संभालने के लिए ज़िम्मेदार है, इसलिए यह सत्यापन करने का सही स्थान है। इसके अलावा आप पैरामीटर अमान्य होने पर राउटर का उपयोग करके अपने घटक में पैराम को सत्यापित कर सकते हैं और मैन्युअल रूप से राउटर का उपयोग कर रीडायरेक्ट कर सकते हैं। – kemsky

संबंधित मुद्दे