I created a custom login page and used Meteor.loginWithPassword (user, password, [callback]) function to login in the app. The login template is the following:
& lt; Template name = "Login" & gt; & Lt; Form class = "login-form form-horizontal" & gt; & Lt; Div class = "control-group" & gt; & Lt; Input class = "email" type = "text" placeholder = "email" & gt; & Lt; / Div & gt; & Lt; Div class = "control-group m-inputwrapper" & gt; & Lt; Input class = "password" type = "password" placeholder = "password" & gt; & Lt; / Div & gt; & Lt; Div class = "control-group" & gt; & Lt; Button type = "submit" class = "submit t-btn-login" & gt; Login & lt; / Button & gt; & Lt; / Div & gt; & Lt; / Form & gt; & Lt; Div class = "alert-container" & gt; & Lt; Div class = "alert-placeholder" & gt; & Lt; / Div & gt; & Lt; / Div & gt; & Lt; / Template & gt; Template.Login.events ({'Submit .login-form': function (e, t) {e.preventDefault (); // input field values var email = t.find ('. Email') Value, password = t.find ('.password'). Value; Meteor.loginWithPassword (email, password, function (error) {$ (".path-placeholder"). Html ('& lt ; div> "icon-icon"> & gt; '+ err.message +' & lt; / span & gt; & lt; / div & gt;; ')}}}; Details are false;}}); As I debugging, I can see that an error message is displayed and added to the Dome. But it will be refreshing and the message will disappear.
Meteor.loginWithPassword () is the meteor after the page mentioned again? When using meteor, if you find yourself injecting HTML elements with jQuery, how can you remove it?
In your alert container, conditionally an error message:
& lt; Div class = "alert-container" & gt; {{#if error message}} & lt; Div class = "alert" & gt; & Lt; Span & gt; & Lt; I class = "icon-mark" & gt; & Lt; / I & gt; {{Error message}} & lt; / Span & gt; & Lt; / Div & gt; {{/ If}} & lt; / Div & gt; In your login callback, set error message if err exists: Meteor.loginWithPassword (email, password, function (error) {if (err) {session .set ('errorMessage', err.message);}}); Finally, add a template assistant to use the error message session variable: Template.Login.helpers ({errorMessage: function () {return Session.get ('errorMessage');}});
Popular posts from this blog
I'm trying to pass an input text from the viewer to the controller in the Facebook Birthday app: Link to app: In the Home Controller [FacebookAuthorize ("email", "user_photos")] Public async Tasks & lt; ActionResult & gt; Index (FacebookContext reference) {if (ModelState.IsValid) {var user = waiting for reference. Client.Gate CurrentUserAsync & lt; MyAppUser & gt; (); View return (user); } See Return ("Error"); } [Http post] [facebook authorized ("email", "user_photo")) public async task & lieutenant; Actionsclass & gt; Index (string textile, facebookcontonte context) {if (ModelState.IsValid) {var user = wait context.Client.GetCurrentUserAsync & lt; MyAppUser & gt; (); // See my code, see the use of txt here (user); } See Return ("Error"); } View: @using facebookpostc.models @ Microsoft.AspNet.Mvc.Facebook.models using @ Microsoft.AspNet.Mvc. Facebook @model MyAppUser @ {ViewB...
I have used 2 database tables and core data / NSManagedObjects in SQLite: User is user_id name group (multiple groups) Group group_id title group members (multiple users) By using core data to save a group and adding users ( Add to group) as follows: group * cordata = zero; Cordata = [NSEntityDescription insertNewObjectForEntityForName: @ Managed Object Contains in "Groups": Reference]; Request = [NSFetchRequest fetchRequestWithEntityName: @ "user"]; Request.predicate = [NSPredicate predicateWithFormat: @ "user_id =% @", user_id]; Result = [reference executeFetchRequest: request error: & amp; Error]; CoreData.group_id = group_id Cordettitle = Title [Cordata AdGroupMailersObject: [Last objections result]]; Is it right to say that core data manages a user with multiple users and groups with the code above? Yes, if the relationships are in the form of each other's inverse relationship The inverse relationships are updated automaticall...
I am calling a string with a C + code and calling from the C # code. The C ++ function is responsible for filling the string material. The following code is: C #party: var abc = new string builder (4096); // will have to change this var result = Basic methods. SignCrcFile (ABC); C ++: bool __cdecl SignCrcFile (char * abc) {... char * tempStr = "hello all"; // for example // copy it to ABC string strcpy (ABC, tempStr); Back true; } The problem is that tempStr's size in the C ++ function is dynamic (the above assignment for TempStr is only an example). In such a case, it is not a hard code that the size of ABC string is in the size of 4096 bytes on the C #. The first solution can be a solution to create 2 functions on the C ++ side to get the size of the string. Then allocate that size using StringBuilder in the C # side then use the next function to bring the entire string from C ++ to the C #. But no suggestion this may not be the most optimal way? ...
Comments
Post a Comment